Программирование >>  Элементы языков с и с++ 

1 ... 160 161 162 [ 163 ] 164 165 166 ... 200


Сущность - некий объект, который требуется описать в базе данных (это может быть автомобиль, работник, компания, должность, проект и многое другое).

Каждая сущность имеет свойства, называемые атрибутами.

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

Таблица 12.1. Перечень объектов для создаваемой базы данных

Сущность

Атрибуты сущности

EMPLOYEE (Работники)

Emp Num (Табельный номер)

Last Name (Фамилия)

First Nanie (Имя)

Dept Num (Код подразделения)

Job Code (Код должности)

Phone Num (Телефон)

Salary (Зарплата)

DEPARTMENT (Компания)

Dept Nuin (Код подразделения)

Dept Name (Наименование)

Dept Head Name (Имя руководителя)

Budget (Бюджет)

Location (Месторасположение)

Phone Nuin (Телефон)

PROJECT (Проекты)

ProjectJD (Код проекта)

Project Name (Название проекта)

Project Description (Описание проекта)

Team Leader (Руководитель)

Product (Изделие) -------



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

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

Каждый атрибут может появляться лищь однажды, и вы должны определить, какая сущность является первичным собственником этого атрибута. Например, атрибут Dcpt liead Name (Имя руководителя) должен быть удален, т. к. Last Nanic (Фамилия), First Name (Имя), а таюке Emp Num (Табельный номер) уже существуют в сущности EMPLOYEE (Работники). А для доступа к руководителю подразделения можно воспользоваться табельным номером работника (руководитель в качестве работника имеет свой табельный номер).

Посмотрим теперь, как отобразить составленный список в обтэскты базы данных: сущности - в таблицы, а атрибуты - в колонки.

Проектирование таблиц

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

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

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

В табл. 12.2 показано, как сущность EMPLOYEE была преобразована из списка в таблицу.



Таблица 12.2. Таблица для сущности EMPLOYEE

Emp Num

Last Name

First Name

Dept Num

Job Code

Phone Num

Salary

Smith

John

4968

64000

Carter

Catherine

Sales

4967

72500

Smith

Jane

Admin

4800

37500

[Кажлая строка таблицы представляет одного работника.

[Колонки Ешр Num, Last Name, First Nanie, Dept Num, JobCodc, Phone I Num. Salary представляют атрибуты работника.

Когда таблица наполнена данными и строка добавляется к таблице, то каж-I элемент строки - это ячейка, в которой со.чраняется некая информация [(например, Smith ).

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

[Определение неповторяющихся атрибутов

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

[Одну строку от другой отличают по значениям так называемого нервичного \тчи.

[Значения, введенные в колонку первич1юго ключа или во множество кOJЮ-нок. составляющих первичный ключ ta он может состоять и из нескольких [атрибутов), являются уникальными для каждой строки. Ecjni вы гюпытастесь Ьвести некоторое значение в первичный ключ, которое уже сун1ествует в дру-[гой строке той же колонки, то система контроля, предусмотренная в БД, пре-[кратит операцию и выдаст ощибку.

Например, в приведенной таблице EMPLOYEE поле Emp Num (Табельный номер) является уникальным атрибутом. Такой атрибут может исгюльзовать-[сякак идентификатор каждого работника в базе данных (т. е. каждой строки [таблицы). Следовательтю, этот реквизит можно взять в качестве первичного



1 ... 160 161 162 [ 163 ] 164 165 166 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика