Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л-р 1-4.doc
Скачиваний:
22
Добавлен:
20.02.2016
Размер:
814.08 Кб
Скачать

Структура таблицы Студенты

N

Наименование

Тип

1

КодСт

Счетчик

2

ШифрЗК

Текстовый

3

ШифрГр

Текстовый

4

ШифрСп

Текстовый

5

НаимСп

Текстовый

6

ФИО

Текстовый

7

ДатаРожд

Дата

8

Область

Текстовый

9

Город

Текстовый

10

Адрес

Текстовый

Таблицу Студенты можно рассматривать как однотабличную базу данных. Основная проблема заключается в том, что в ней содержится значительное количество повторяющейся информации. Например, сведения о специальности повторяются в записях всех студентов, обучающихся на данной специальности. Такая структура данных является причиной следующих проблем, возникающих при работе с базой данных:

  • Вам придется тратить значительное время на ввод повторяющихся данных.

  • При изменении номера или наименования специальности необходимо корректировать все записи студентов, обучающихся по данной специальности.

  • Наличие повторяющейся информации приведет к неоправданному увеличению размера базы данных. В результате снизится скорость выполнения запросов. Кроме того, повторяющиеся данные нерационально используют дисковое пространство компьютера.

  • При многократном вводе повторяющихся данных возрастает вероятность ошибки. При больших размерах таблиц поиск ошибок будет занимать значительное время.

Для исключения дублирования информации и обеспечения быстрого доступа к данным в таблицах целесообразно использовать многотабличные базы данных. В рассматриваемом случае используем схему базы данных Контингент, состоящую из трех таблиц: Группы, Специальности, Студенты (см. рис.2.1).

Группы

N

Наименование

Тип

1

КодГр

Счетчик

2

ШифрГр

Текстовый

3

КодСп

Числовой

4

ФормаОб

Текстовый

Специальности

N

Наименование

Тип

1

КодСп

Счетчик

2

ШифрСп

Текстовый

3

НаимСп

Текстовый


Студенты

N

Наименование

Тип

1

КодСт

Счетчик

2

ШифрЗК

Текстовый

3

КодГр

Числовой

4

ФИО

Текстовый

5

ДатаРожд

Дата

6

Область

Текстовый

7

Город

Текстовый

8

Адрес

Текстовый


Рис.1.1.Схема базы данных Контингент

Таблица Группы содержит шифр группы, код специальности и форму обучения для данной группы. Таблица Специальности содержит шифры и наименования специальностей. Таблица Студенты содержит код группы, фамилии и инициалы студентов, даты рождения и их домашние адреса. Мы можем получить в базе данных информацию о каждом студенте, списки групп студентов, списки студентов по специальностям и т.п.

Для связывания таблиц Группы и Студенты используются совпадающие поля Код группы (КодГр). Причем в таблице Группы - это поле типа Счетчик, значение которого устанавливается автоматически на 1 больше при добавлении каждой новой записи в таблицу. В таблице Студенты поле КодГр является числовым полем. Его значение задается равным значению поля КодГр в таблице Группы. Таким образом таблица Группы является главной таблицей, поскольку она содержит первичный ключ, который необходимо сформировать до заполнения таблицы Студенты. Таблица Студенты при этом является подчиненной таблицей, а поле КодГр в ней называется внешним ключом.

Аналогично связаны посредством поля КодСп (Код специальности) таблицы Специальности и Группы. Главной таблицей в данном случае является таблица Специальности, а подчиненной - Группы.

Замечание. Связанные поля не обязательно должны иметь одинаковые имена, однако, они должны иметь одинаковые типы данных. Исключением из этого правила являются поля счетчика с последовательной нумерацией, которые могут связываться с числовыми полями размера Длинное число.

Такая структура базы данных имеет следующие преимущества:

  • Отсутствует повторяющаяся информация (например, шифр специальности вводится в базу данных один раз, а не для каждого студента).

  • При изменении номера или наименования специальности необходимо корректировать только одну запись в таблице специальности. То же и для номера группы.

  • Ввиду отсутствия повторяющейся информации сокращается вероятность появления ошибок, объем дискового пространства и время поиска информации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]