|
Программирование >> Элементы языков с и с++
Сущность - некий объект, который требуется описать в базе данных (это может быть автомобиль, работник, компания, должность, проект и многое другое). Каждая сущность имеет свойства, называемые атрибутами. Допустим, что проектируется база данных, которая будет содержать сведения о работниках компании, об иерархии подразделений, о текущих проектах, о клиентах (покупателях) и продажах. В табл. 12.1 приведен пример, показывающий, как создать список сущностей и атрибутов для организации данных. Таблица 12.1. Перечень объектов для создаваемой базы данных
Составляя таким способом списки сущностей и соответствуюи1их атрибутов, удается удалить избыточные записи. Могут ли быть таблицами сущности из составленного списка? Могут ли быть перемещены колонки из одной группы в другую? Появляется ли один и тот же атрибут в некоторых сущностях? На такие вопросы надо дать ответ. Каждый атрибут может появляться лищь однажды, и вы должны определить, какая сущность является первичным собственником этого атрибута. Например, атрибут Dcpt liead Name (Имя руководителя) должен быть удален, т. к. Last Nanic (Фамилия), First Name (Имя), а таюке Emp Num (Табельный номер) уже существуют в сущности EMPLOYEE (Работники). А для доступа к руководителю подразделения можно воспользоваться табельным номером работника (руководитель в качестве работника имеет свой табельный номер). Посмотрим теперь, как отобразить составленный список в обтэскты базы данных: сущности - в таблицы, а атрибуты - в колонки. Проектирование таблиц в реляционной базе данных объектом, представляющим отдельную сущность, является таблица, которая является двумерной матрицей строк и столбцов. Каждый столбец матрицы представляет один атрибут. Каждая строка представляет специфический экземпляр сущности. Например, мы проектируем таблицу Покупатели. В таком случае таблица Покупатели - это сущность, а код покупателя, его адрес, контакт ный телефон и т. д. являются атрибутами данной сущности. Специфические экземпляры сущности- это 1-й покупатель, 2-й покупатель и т.д. В некоторых СУБД (системах управления базами данных), например, MS Access, поставляемой с русским вариантом Windows, таблицы и их атрибуты можно задавать по-русски. В больщинстве же СУБД - по-английски. После определения сущностей и атрибутов создается модель, которая служит логическим проектом структуры вашей базы данных. Модель отображает сущности и атрибуты в таблицу, в которой колонки являются детальным описанием сущностей БД. В табл. 12.2 показано, как сущность EMPLOYEE была преобразована из списка в таблицу. Таблица 12.2. Таблица для сущности EMPLOYEE
[Кажлая строка таблицы представляет одного работника. [Колонки Ешр Num, Last Name, First Nanie, Dept Num, JobCodc, Phone I Num. Salary представляют атрибуты работника. Когда таблица наполнена данными и строка добавляется к таблице, то каж-I элемент строки - это ячейка, в которой со.чраняется некая информация [(например, Smith ). Вся строка информации по одному работнику называется просто записью. [Колонки таблицы, полученные из атрибутов сущности, называют полями лицы. [Определение неповторяющихся атрибутов [Одной из задач проектирования базы данных является обеспечение хннкаль-ного определения каждого экземпляра сущности, т. е. необ.ходпмо сделать к. чтобы система могла извлечь из таблицы единственную строку. Иными вами, должна быть однозначная идентификация строки таблицы. [Одну строку от другой отличают по значениям так называемого нервичного \тчи. [Значения, введенные в колонку первич1юго ключа или во множество кOJЮ-нок. составляющих первичный ключ ta он может состоять и из нескольких [атрибутов), являются уникальными для каждой строки. Ecjni вы гюпытастесь Ьвести некоторое значение в первичный ключ, которое уже сун1ествует в дру-[гой строке той же колонки, то система контроля, предусмотренная в БД, пре-[кратит операцию и выдаст ощибку. Например, в приведенной таблице EMPLOYEE поле Emp Num (Табельный номер) является уникальным атрибутом. Такой атрибут может исгюльзовать-[сякак идентификатор каждого работника в базе данных (т. е. каждой строки [таблицы). Следовательтю, этот реквизит можно взять в качестве первичного
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |