Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
САМоВ-Е-Р-сткаПонед.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.1 Mб
Скачать

Лабораторная работа на выполнение запросов

  1. Для таблицы Студенты сделайте запросы-выборки следующих типов (самостоятельно уточните задание в соответствии с вашими данными):

    1. найдите студентов с определённым именем (точное значение);

    2. найдите студентов с определёнными первыми буквами («похожие»), например, фамилии, начинающиеся на Фи;

    3. найдите студентов с ростом в определённом интервале;

    4. найдите студентов с датой рождения в определённом интервале;

    5. найдите самых низких и самых высоких (с логическим ИЛИ);

    6. придумайте и создайте свои запросы по таблице Книги.

  2. Копируйте таблицу Студенты в таблицу Студенты1. В новой таблице замените в поле МестоЖительства значение Красноярск на Город, а не Красноярск - на Деревню. Какой запрос для этого понадобится?

  3. По таблице Книги сделайте запрос, чтобы узнать, сколько книг каждого издательства в вашей библиотеке. Каким типом запроса для этого удобно воспользоваться?

  4. По таблице Книги узнайте, сколько страниц каждого автора в вашей библиотеке.

  5. Наконец, выполните перекрёстный запрос, чтобы всю эту информацию собрать в таблицу. У вас должно получиться таблица, похожая на таблицу на рисунке.

  6. И змените структуру таблицы Студенты: добавьте поле ЦветВолос. Заполните его.

  7. С помощью перекрёстного запроса узнайте:

    1. сколько у вас юношей и девушек с различным цветом волос,

    2. какой средний рост юношей и девушек с разным цветом волос.

  8. У вас в таблице приведен рост для каждого студента. Требуется установить для каждого, высокий он, среднего роста или низкий. В данном случае можно использовать запрос-обновление. Создайте ещё одно поле (можно назвать его ОценкаРоста). Для его заполнения используйте запрос-обновление. Границы оценки установите сами, причём для девушек и юношей, очевидно, это должны быть разные числа.

  9. Теперь вы можете узнать, сколько высоких, средних и низких юношей и девушек у вас в группе.

Многотабличные бд

Существуют плоские и реляционные БД. В плоской таблице вся информация должна находиться в одной таблице. Это означает, что любые данные, одинаковые для нескольких записей, должны повторяться в каждой из этих записей. (Например, в записи для каждого студента ВУЗа название факультета, адрес учебного корпуса, описание курса, год поступления и т.д.)

Многократное сохранение в БД одних и тех же данных приведет к неэффективному использованию памяти при хранении больших объёмов информации, к тому же существенно возрастет вероятность ошибок при вводе данных. Разбив же данные по нескольким таблицам, можно в значительной степени избежать этих трудностей.

Идея реляционной базы данных – несколько таблиц со связями.

Для правильной организации таблиц в реляционных базах данных и для получения ответов на различные запросы существуют специально разработанный математический аппарат, который называется исчислением отношений, или реляционной алгеброй. Ответы на запросы получаются путем «разрезания» и «склеивания» таблиц по строкам и столбцам. Очевидно, что ответы будут также иметь форму таблиц. Таким образом, реляционная алгебра обеспечивает единообразие представления данных [2].

Простые БД, состоящие из 5–10 таблиц, можно построить, опираясь на здравый смысл.

Каждая таблица должна иметь первичный ключ, т.е. одно или несколько полей, которые однозначно определяют каждую запись таблицы. Для назначений первичного ключа следует в режиме Конструктора таблицы выделить одно или несколько полей и установить для них Ключевое поле (см.п. 121–122).

Внешний ключ – поле (или поля), которое является первичным ключом в другой таблице. Процесс установления первичных и внешних ключей, а также создания связей называют нормализацией. Это приводит к достижению одной из важнейших целей – уменьшению избыточности информации в БД.

Связь между таблицами устанавливается через поля, совпадающие по значению.