Разработка базы данных библиотечного фонда города, страница 2

Любую связь можно охарактеризовать:

1.  Классом принадлежности сущности;

2.  Степенью.

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

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

2.Если степень бинарной связи 1:1 и класс принадлежности только одной сущности обязателен, то потребуется две таблицы. Причем ключевой атрибут сущности с необязательным классом принадлежности нужно вставить как атрибут во вторую таблицу;

3.Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей не обязателен, то ─ три таблицы. Третья таблица отражает связи м/у ключами обеих сущностей;

4.Если степень бинарной связи 1:n и класс принадлежности n-связной сущности обязателен, то потребуется две таблицы. Ключ односвязной сущности нужно добавить атрибутом в таблицу n-связной сущности;

5.Если степень связи 1:n и класс принадлежности n-связной сущности необязательный ─ три таблицы. Третья таблица отражает связи и должна содержать ключи обеих сущностей в качестве атрибутов.

6.Если степень m:n ─ три таблицы. Третья таблица отражает ключи и связи обеих сущностей. В качестве ключевого в третьей таблице выбирается ключ той сущности, который характеризуется наибольшим количеством участия в экземплярах связи.

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

На рисунке 1 показана ER-диаграмма для данной базы данных: 

Рис 1 ER-диаграмма

Рис 2   ER-диаграмма с помощью Сasestudio

Скрипт на базу:

' Created                     20.11.2009

' Modified                   20.11.2009

' Project                      

' Model                                        

' Company                 

' Author                                       

' Version                    

' Database                   Access 2000

'=======================================================

'=== MS Access 2000 database creation method

'===

'=== 1. Create a new database in the MS Access 2000

'=== 2. Create a new module

'=== 3. Copy the CASE Studio 2 output SQL script into the new MS Access 2000 module

'=== 4. Select from main menu "Tools" item "References..." and check the "Microsoft DAO 3.6 Object Library."

'=== 5. Place your mouse cursor somewhere in the main procedure Main()

'=== 6. Run the module code (Click the "Run Sub/UserForm" button or press F5)

'=======================================================

Public dbs As DAO.Database

Public tdf As DAO.TableDef

Public idx As DAO.Index

Public rel As DAO.Relation

Sub Main()

Set dbs = CurrentDb()

On Error GoTo ErrorHandler

                  Call CreateTables

                  Call CreatePrimaryKeys

                  Call CreateIndexes

                  Call CreateAlterKeys

                  Call CreateRelations

                  MsgBox "Script successfully processed.", vbInformation

                  Exit Sub

ErrorHandler:

                  Select Case Err.Number

                                    Case 3010

                                                     MsgBox "Table " & tdf.Name & " allready exist!", vbInformation

                                                     Err.Clear

      Case 3284

         MsgBox "Index " & idx.Name & " for table " & tdf.Name & " allready exist!", vbInformation