Добавлен: 19.10.2018

Просмотров: 7954

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

26 

 

 

Рис. 1.20. Структура таблицы «ДЕТИ»  

 
При создании  таблиц  следует  помнить,  что  в реляционных  базах  данных 

связывание  таблиц  происходит  по  значениям  соответствующих  полей  связи. 
Эти  поля  должны  соответствовать  друг  другу  по  типу  и  длине.  В  нашем 
примере  речь  идет  о  полях  «КОД_КАФЕДРЫ»  в  таблице  “КАФЕДРА”  и 
одноименном  поле  в  таблице  «СОТРУДНИК»,  и  «КОД_СОТРУДНИКА»  в 
таблицах  «СОТРУДНИК»  и  “ДЕТИ”.  Если  в  основной  таблице  ключевое  поле 
имеет  тип  счетчик,  то  в  подчиненной  таблице  соответствующее  поле  связи 
должно иметь тип «числовое» и размер поля – «длинное целое». 

  

1.2.6. Изменение структуры таблиц 

 

Если  вы  ошиблись  при  описании  структуры  таблицы  или  по  каким-либо 

другим причинам хотите изменить ее, то это можно легко сделать. Если вы уже 
вышли  из  процесса  создания  таблицы,  но  еще  продолжаете  работать  с  ней,  то 
можно  перейти  обратно  в  режим  “Конструктора”,  воспользовавшись  кнопкой 
Вид”.  Если  нужная  таблица  вообще  закрыта,  то  ее  можно  открыть  в  режиме 
Конструктор” и таким образом вернуться в окно описания таблицы.  


background image

 

27 

Для  добавления  поля  в  таблицу  выберите  строку,  над  которой  требуется 

добавить  новое  поле,  и  нажмите  кнопку  “Добавить  строки”  на  панели 
инструментов, либо просто нажмите клавишу “Ins"

3

.  

Для добавления поля в конец таблицы выберите первую пустую строку, и 

вводите в нее описание очередного поля.  

Если  таблица  уже  содержит  данные,  то  до  изменения  типов  данных  и 

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

 

1.2.7. Другие способы создания таблиц 

 

Если  Вы  создаете  таблицу,  структура  которой  имеет  много  общего  со 

структурой  ранее  созданной  таблицы,  то  можно  скопировать  структуру 
существующей 

таблицы 

(для 

этого 

надо 

позиционироваться 

на 

соответствующей  таблице,  выбрать  позицию  меню  “Правка/Копировать”, 
потом – “Правка/Вставить”, после чего в появившемся окне (рис. 1.21) ввести 
имя  вновь  создаваемой  таблицы,  а  в  качестве  параметра  вставки  выбрать 
только структура”). Структура созданной таким образом таблицы может быть 
впоследствии  скорректирована  обычным  способом.  В  приведенном  примере  в 
базе  данных  учебного  заведения  на  основе  таблицы  “СОТРУДНИК”  строится 
таблица“ АСПИРАНТ”. 

 

Рис. 1.21. Копирование структуры таблицы  

                                                   

3

 При работе с Access (как, впрочем, и с другими Windows-системами) рекомендуется активно пользоваться 

правой кнопкой мыши для вызова контекстного меню. Час-то это бывает самым простым путем выбора нужного 
действия.  
 


background image

 

28 

Кроме  того,  создать  таблицу  можно  с  использованием  “Мастера  таблиц” 

(“Таблица/Создать/Мастер таблиц”).  В левой части окна “Создание таблиц” 
высвечивается  перечень  образцов  таблиц,  из  которых  вы  можете  выбрать 
подходящую по содержанию таблицу (рис. 1.22).  

 

 

 

Рис. 1.22. Создание таблиц с использованием Мастера таблицы  

 
Из выбранной  таблицы  Вы  можете перенести все или некоторые  поля во 

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

Создать таблицу можно и путем импорта ее из других систем. Кроме того 

в виде таблицы можно сохранить результат запроса (см. гл. 2). В Access имеется 
еще возможность создавать таблицу в режиме таблицы, но эта возможность не 
представляется интересной.  


background image

 

29 

1.3. Связывание таблиц 

 

После того, как таблицы созданы, можно задать их связанность. Для этого 

надо  выбрать  позицию  меню  “Сервис/Схема  данных”  (либо  нажать 
соответствующую кнопку на панели инструментов). Далее, в открывшемся окне 
“Схема  данных” следует  добавить в  окно  те таблицы,  между  которыми  будет 
определяться связь. Таблицы, между которыми определяется связь, чаще всего, 
связаны  отношением  1:М.  Для  установления  связи  надо  позиционироваться  на 
поле связи (обычно это первичный ключ) в основной таблице (та, которая стоит 
на стороне “1”) и, не отпуская клавишу мыши, перетащить появившийся значок 
на  соответствующее  поле  в  “зависимом”  файле  и  отпустить  клавишу  мыши. 
После  этого  на  экране  появится  окно  “Связи”  (рис.  1.23).  Далее  следует 
определить,  надо  ли  задавать  ограничения  целостности  связи,  и  если  да,  то 
выбрать  режимы  корректировок  (обновления  и  удаления).  Если  вы  задаете 
ограничения  целостности,  то  поле  связи  основной  записи  должно  быть 
проиндексировано.  

 

 

 

Рис. 1.23. Задание связи и ограничений целостности по связи  

 
В  рассматриваемом  нами  в  качестве  примера  случае  при  связывании 

таблиц  “КАФЕДРА”  и  “СОТРУДНИК”  ограничение  целостности  следует 
задать,  чтобы  в  таблице  “СОТРУДНИК”  не  появлялись  коды  кафедр,  которые 
отсутствуют  в  справочнике  “КАФЕДРА”.  Задавать  “каскадное  обновление 


background image

 

30 

связанных  полей”  в  данном  случае  не  имеет  смысла.  Каскадное  обновление 
означает,  что  при  изменении  первичного  ключа  в  основной  таблице, 
соответствующие  поля  в  связанной  таблице  автоматически  изменяются.  В 
таблице  “КАФЕДРА”  поле  “КОД_КАФЕДРЫ”  имеет  тип  “Счетчик”.  Это 
означает, что изменять значение этого поля нельзя. Задавать каскадное удаление 
в  данном  случае  тоже  опасно,  так  как  в  случае  ликвидации  "КАФЕДРА" 
окажутся удаленными все записи сотрудников, работавших на этой кафедре.  

Для  связи  же  таблиц  “СОТРУДНИК”  и  “ДЕТИ”  (рис.  1.24)  каскадное 

удаление вполне уместно.  

 

 

 

Рис. 1.24. Задание целостности связи и условий обновления связанных записей  

 
Обеспечить ссылочную целостность можно и иным способом – используя 

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

Существуют  понятия  внутреннего,  левого  и  правого  соединения.  В  окне 

Связи”, появляющемся при  установлении связи между двумя таблицами, есть 
кнопка  “Объединение”,  нажав  на  которую  пользователь  попадает  в  окно 
Параметры  объединения”,  в  котором  он  может  выбрать  одну  из  трех 
альтернатив: