четверг, 23 апреля 2009 г.

Проектирование базы данных (БД)

Реляционные базы данных моделируют часть реального мира, т.е. в них хранятся сведения о различных объектах. Главное в проектировании базы данных – определить необходимые для хранения факты о каждом из объектов и связи между ними.
Для примера рассмотрим проектирование и создание базы данных ФАКУЛЬТЕТ.
1 шаг – определение таблиц. Любая таблица должна иметь следующие свойства: в ней нет одинаковых строк (записей), ее записи и столбцы (поля) неупорядочены (т.е. не важна их последовательность), для нее имеется первичный ключ. Первичный ключ – это минимальное множество полей (часто – одно поле) таблицы, позволяющее однозначно идентифицировать записи таблицы. Значения первичного ключа не должны повторяться и не должны быть пустыми. Как правило, в качестве первичного ключа выбирают поля, содержащие числа (коды) или короткий текст.
При рассмотрении требований к БД ФАКУЛЬТЕТ можно определить следующие объекты, подходящие для выделения их в таблицы: Студенты, Подгруппы, Преподаватели, Кафедры, Дисциплины, Занятия.
2 шаг – определение полей таблиц. Для определения полей таблицы требуется установить, какие факты надо отслеживать для каждого объекта. В общем, поля должны иметь следующие свойства: в них не содержатся вычисляемые данные, данные должны быть разбиты на наименьшие логические части. Кроме определения имен полей, важно сразу определить их тип. Также необходимо определить первичный ключ для каждой таблицы.
3 шаг – определение связей. Проектируя базу данных, стараются не допускать избыточности данных в ней. Избыточные данные приводят к увеличению размера базы, а также к нарушению целостности данных при обновлении. Связи, которые устанавливаются между значения нескольких таблиц, как раз являются одним из средств устранения избыточности. Необходимо определить, по каким полям таблиц установить связь. При этом вводится понятие внешнего ключа. Внешним ключом таблицы называется поле (или группа полей), ссылающихся на первичный ключ другой таблицы. При этом оба ключа должны иметь одинаковый тип данных. Таблица, первичный ключ которой участвует в связи, называется ссылочной (главной), а таблица, содержащая соответствующий внешний ключ – ссылающейся (подчиненной). Пример см. на рис. 1.

Существует три типа связей между двумя таблицами:
– один-к-одному: для каждой строки главной таблицы имеется не более одной строки подчиненной таблицы, а для каждой строки подчиненной таблицы – не более одной строки главной таблицы. Такие типы связей встречаются нечасто, т.к. данные из одной таблицы можно просто включить в другую.
Пример см. на рис. 2.
– один-ко-многим: для каждой строки главной таблицы имеется ноль, одна или несколько строк подчиненной таблицы, а для каждой строки подчиненной таблицы имеется только одна строка главной таблицы. Это наиболее распространенный тип связи.
Пример см. на рис. 1.
– многие-ко-многим: каждой строке одной таблицы соответствует несколько строк второй таблицы и наоборот. В СУБД такая связь представлена разбиением ее на две связи один-ко-многим. Пример см. на рис. 3.
2. Объекты CУБД Access
1. Таблицы – основной объект базы данных. В таблицах хранятся все данные, а также и структура базы данных (поля, их типы и свойства).
2. Запросы – это структуры, предназначенные для обработки данных базы: упорядочение, фильтрация, отбор, изменение.
3. Формы – объекты для более наглядной организации ввода или просмотра данных.
4. Отчеты – объекты, предназначенные для подготовки данных к печати.
5. Страницы доступа к данным – это специальный тип Web-страниц, которые предназначены для просмотра и работы с данными из баз Access.
6. Макросы и модули – средства для автоматизации повторяющихся операций, для создания новых функций путем программирования.
Задание 1
1 Запустить систему управления базами данных (СУБД) MS Access и открыть готовую базу данных ФАКУЛЬТЕТ – файл Факультет_Инф-4(озо)_2009.mdb.
2 Исследовать основные созданные объекты Access (таблицы, форму, отчет):
• просмотреть объекты в режиме просмотра (кнопка Открыть или двойной щелчок по имени объекта);
• просмотреть объекты в режиме Конструктора (кнопка Конструктор);
• исследовать свойства таблиц и их полей (в режиме Конструктора).
3 Исследовать Схему данных (меню Сервис/Схема данных).
3. Создание таблицы данных
Для создание таблицы необходимо выбрать объект Таблицы, щелкнуть мышью по кнопке Создать.
Создание таблицы предусмотрено в режимах Таблицы; Конструктора; Мастера таблиц; Импортом таблиц.
Названия этих режимов и отображены в появившемся диалоговом окне.
Задание 2-а. В режиме Конструктора создайте таблицу Студенты (см. табл. 1).
Таблица Поля Типы данных Пояснения
Студенты НомерЗачетнойКнижки Числовой Первичный ключ
Фамилия Текстовый
Имя Текстовый
Отчество Текстовый
Пол Текстовый
ДатаРождения Дата/Время
Адрес Текстовый
Телефон Числовой
Подгруппа Текстовый Является внешним ключом: ссылается на поле КодПодгруппы таблицы Подгруппы
ГодПоступления Числовой
ПроживаетВОбщежитии Логический Может иметь два значения: «Да» или «Нет»
Пояснения по выполнению задания:
В режиме Конструктора пользователь сам осуществляет процесс конструирования или определения структуры таблицы: задает имена полей и их характеристики. В этом режиме предусмотрены:
• столбец для имени поля (обязателен для заполнения, имена полей должны быть уникальны в пределах одной таблицы);
• столбец для типа поля (обязателен для заполнения, можно выбрать тип из открывающегося списка);
• столбец описания поля, то есть кратких сведений о данных, которые будут храниться в нем (не обязателен для заполнения, эти сведения отображаются потом в строке состояния при выделении поля в таблице).
• область свойств поля (в нижней части экрана) содержит более детальное описание общих свойств поля выбранного типа (вкладка Общие), а также дает возможность организовать ввод значений через список (свойства на вкладке Подстановка).
Задание 2-б. В создаваемой Вами таблице Студенты организуйте ввод значений некоторых полей через списки:
• для поля Пол через перечисление (см. рис. 4),
• для поля Подгруппа - через ссылку на таблицу Подгруппы (см. рис. 4).
• для поля Телефон сделайте маску ввода: в свойстве Маска ввода наберите маску 00-00-00 для ввода только шестизначных номеров (см. рис. 5).
После того, как введены все имена полей, их типы и свойства, определяется первичный ключ. Для этого поле (или поля), которому предполагается назначить ключ, нужно выделить, затем на панели инструментов щелкнуть мышью по кнопке Ключевое поле или воспользоваться командой Правка/Ключевое поле.


Посетите интернет магазин игры на любой вкус! От стратегий до шутеров, онлайн и оффлайн игры.

Вы верите в судьбу, вы игрок по характеру - тогда вам в интернет казино вас ждет удача!