Структура базы данных

Концептуальная модель базы данных.

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

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

Концептуальное представление – это представление всего содержимого базы данных, а концептуальная схема – это определение такого представления.

Реляционная база данных.

Различают иерархические, сетевые и реляционные модели.

Реляционная модель – это способ рассмотрения данных, т.е. предписание для способа представления данных (посредством таблиц) и для способа работы с таким представлением (посредством операторов). Реляционная модель базы данных связана с тремя аспектами данных: структурой, целостностью и обработкой данных.

Реляционные базы данных представляют связанную между собой совокупность таблиц. Связь между таблицами может находить свое отражение в структуре данных, а может только подразумеваться. Каждая таблица это совокупность строк и столбцов, где строки соответствуют экземпляру объекта, конкретному событию или явлению. Столбцы представляют собой характеристики этих объектов, событий, явлений. В терминологии реляционных баз данных:

Отношение соответствует тому, что мы до сих пор называли таблицей.

Атрибут соответствует столбцу этой таблицы, а кортеж – строке. Количество атрибутов называется степенью.

На практике строки называют записями, столбцы – полями. Порядок следования строк в таблице произвольный, порядок следования столбцов – фиксированный.

Принципы работы реляционных систем управления базами данных (СУБД).

Реляционная система управления базами данных – это такая система, в которой выполняются как минимум два условия.

1. Данные воспринимаются пользователями как таблицы.

2. В распоряжении пользователя имеются операторы обработки таблиц.

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

Структура базы данных.

База данных состоит из связанных между собой таблиц. Простейшая база данных имеет хотя бы одну таблицу.

Проще всего представить себе базу данных в виде таблицы с некоторым фиксированным числом столбцов и достаточно большим неопределенным числом строк. Простейший пример базы данных – телефонный справочник. Его поля фиксированы: Фамилия, Имя, Отчество, Номер телефона. Его записи нефиксированы. Телефонный справочник может непрерывно пополняться, записи в нем могут изменяться при смене телефонного номера, а в особо трагических случаях они могут из него и удаляться. Если из базы данных удалить все записи, то что в ней останется? В ней останутся только названия полей, а точнее говоря: структура базы данных. То есть, совокупность полей и их свойства определяют структуру базы данных. База данных с нулевым количеством записей все равно останется базой, поскольку имеет структуру. Точно так же, книжка для записи телефонных номеров не перестанет быть книжкой, даже если в ней пока нет ни одной записи.

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

Поля базы не просто определяют структуру базы – они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Свойства полей таблицы:

1. Имя поля – определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).

2. Тип поля – определяет тип данных, которые могут содержаться в данном поле.

3. Размер поля – определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.

4. Формат поля – определяет способ форматирования данных в ячейках, принадлежащих полю.

5. Маска ввода – определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).

6. Подпись – определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).

7. Значение по умолчанию – то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).

8. Условие на значение – ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты).

9. Сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выполняется автоматически, если задано свойство Условие на значение).

10. Обязательное поле – свойство, определяющее обязательность заполнения данных поля при наполнении базы.

11. Пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).

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

Поскольку в разных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных. Так, например, список рассмотренных свойств полей относится в основном к полям текстового типа. Поля других типов могут иметь или не иметь эти свойства, но могут добавлять к ним и свои. Например для данных, представляющих действительные числа, важным свойством является количество знаков после десятичной запятой. С другой стороны, для полей, используемых для хранения рисунков, звукозаписей, видеоклипов и других объектов OLE, большинство вышеуказанных свойств не имеет смысла.

Типы данных:

1. Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).

2. Поле MEMO – специальный тип данных для хранения больших объемов текста (до 65535 символов). Физически текст не храниться в поле. Он храниться в другом месте базы данных, а в поле хранится указатель на него, но для пользователя такое разделение заметно не всегда.

3. Числовой – тип данных для хранения действительных чисел.

4. Дата/время – тип данных для хранения календарных дат и текущего времени.

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

6. Счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей.

7. Логический – тип для хранения логических данных (могут принимать только два значения, например Да или Нет).

8. Поле объекта OLE – специальный тип данных, предназначенный для хранения объектов OLE, например мультимедийных. Реально, конечно, такие объекты в таблице не хранятся. Как и в случае полей MEMO, они хранятся в другом месте внутренней структуры файла базы данных, а в таблице хранятся только указатели на них (иначе работа с таблицами была бы чрезвычайно замедленной).

9. Гиперссылка – специальное поле для хранения адресов URL Web-объектов Интернета. при щелчке на ссылке автоматически происходит запуск браузера и воспроизведение объекта в его окне.

10. Мастер подстановок – это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод в данных поле так, чтобы не вводить их вручную, а выбирать из раскрывающегося списка.

Таким образом, создание базы данных состоит как бы из двух этапов: создание ее структуры и наполнение структуры информацией. И ту, и другую функцию выполняет СУБД.

Пример.

База данных отдела кадров.

Структура.


Имя Тип Размер Условие Подпись
ID Счетчик      
FIO текст     Фамилия, имя, отчество
DR дата   >1.01.1800 Дата рождения
OBR текст     Образование
SPEC текст     Специальность (по диплому)
DOLGN текст     Должность

Таблица с данными.

Фамилия, имя, отчество Должность Дата рождения Образование Специальность (по диплому)
Иванов А.Р. Директор   высшее юрист

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

Внешний ключ.

Между таблицами баз данных могут быть определены отношения подчиненности. Существует три разновидности связей между таблицами баз данных:

· один к одному;

· один ко многим;

· многие ко многим.

Отношение один ко многим имеет место, когда одной записи родительской таблицы может соответствовать несколько записей в дочерней таблице.

Товар Единицы Цена
сахар кг  
макароны кг  
мука кг  
печенье кг  
лимонад л  

Таблица товаров

Товар Дата количество
сахар    
сахар    
мука    
печенье    
сахар    

Отпуск товаров.

Отношение один к одному имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней таблице.

ID ФИО сотрудника Должность Оклад
       
       
       

Родительская

ID Год рождения Количество детей
     
     

Отношение многие ко многим имеет место когда:

· записи в родительской таблице может соответствовать больше одной записи в дочерней таблице.

· записи в дочерней таблице может соответствовать больше одной записи в родительской таблице.

Группа Предмет ID_преп
  информатика  
  мат статистика  
  информатика  
  мат статистика  

Родительская

ID_преп ФИО преп. Кафедра
  Иванов  
  Петров  
  Сидоров  

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: