КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Условия на значения
Размер поля Тип поля Задание ограничений целостности Связывание таблиц Другие способы создания таблиц Изменение структуры таблиц Создание таблиц для контрольного примера Сохранение описания таблицы После того, как описание таблицы завершено, его надо сохранить. Этого можно достигнуть разными путями: выбрать меню “ Файл/Сохранить” или “ Файл/Закрыть ” (после чего на вопрос “Со-хранить изменения макета или структуры?” ответить “да”) или щелкнуть по кнопке “ Вид ” инструментального меню и выбрать “ Режим таблицы ” и на сообщение “Сначала необходимо сохранить таблицу. Сделать это сейчас?” ответить “ Да ” (этот способ надо использовать тогда, когда Вы хотите сразу после описания структуры таблицы вводить данные в эту таблицу). В появившемся после указанных действий окошке следует ввести имя созданной таблицы.
Аналогичные действия повторяются при создании остальных таб-лиц БД. Создадим таблицы “КАФЕДРА” со структурой, представленной на рис.1.19, и “ДЕТИ” со структурой, представленной на рис. 1.20. Рис. 1.19. Структура таблицы «КАФЕДРА» При создании таблицы КАФЕДРА ключ «КОД_КАФЕДРЫ», как и в случае с таблицей «СОТРУДНИК», создадим автоматически при за-крытии таблицы. Рис. 1.20. Структура таблицы «ДЕТИ» При создании таблиц следует помнить, что в реляционных базах данных связывание таблиц происходит по значениям соответствующих полей связи. Эти поля должны соответствовать друг другу по типу и длине. В нашем примере речь идет о полях «КОД_КАФЕДРЫ» в табли-це “КАФЕДРА” и одноименном поле в таблице «СОТРУДНИК», и «КОД_СОТРУДНИКА» в таблицах «СОТРУДНИК» и “ДЕТИ”. Если в основной таблице ключевое поле имеет тип счетчик, то в подчиненной таблице соответствующее поле связи должно иметь тип «числовое» и размер поля – «длинное целое».
Если вы ошиблись при описании структуры таблицы или по ка-ким-либо другим причинам хотите изменить ее, то это можно легко сде-лать. Если вы уже вышли из процесса создания таблицы, но еще про-должаете работать с ней, то можно перейти обратно в режим “ Конст-руктора ”, воспользовавшись кнопкой “ Вид ”. Если нужная таблица во-обще закрыта, то ее можно открыть в режиме “ Конструктор ” и таким образом вернуться в окно описания таблицы. Для добавления поля в таблицу выберите строку, над которой тре-буется добавить новое поле, и нажмите кнопку “ Добавить строки ” на панели инструментов, либо просто нажмите клавишу “ Ins ".3 Для добав- 3 При работе с Access (как, впрочем, и с другими Windows-системами) рекомендует-ся активно пользоваться правой кнопкой мыши для вызова контекстного меню. Час-то это бывает самым простым путем выбора нужного действия. ления поля в конец таблицы выберите первую пустую строку и вводите в нее описание очередного поля. Если таблица уже содержит данные, то до изменения типов дан-ных и размеров полей рекомендуется сделать ее копию, так как несо-вместимость существующих данных с новым значением свойства «Тип данных» может привести к потере данных.
Если Вы создаете таблицу, структура которой имеет много общего со структурой ранее созданной таблицы, то можно скопировать структу-ру существующей таблицы (для этого надо позиционироваться на соот-ветствующей таблице, выбрать позицию меню “ Правка/Копировать ”, потом – “ Правка/Вставить ”, после чего в появившемся окне (рис. 1.21) ввести имя вновь создаваемой таблицы, а в качестве параметра вставки выбрать “ только структура ”). Структура созданной таким образом таб-лицы может быть впоследствии скорректирована обычным способом. В приведенном примере в базе данных учебного заведения на основе таб-лицы “СОТРУДНИК” строится таблица “АСПИРАНТ”. Рис. 1.21. Копирование структуры таблицы Кроме того, создать таблицу можно с использованием “Мастера таблиц” (“ Таблица/Создать/Мастер таблиц ”). В левой части окна “ Создание таблиц ” высвечивается перечень образцов таблиц, из кото-рых вы можете выбрать подходящую по содержанию таблицу (рис. 1.22). Рис. 1.22. Создание таблиц с использованием Мастера таблицы Из выбранной таблицы Вы можете перенести все или некоторые поля во вновь создаваемую таблицу, можете изменить имя поля. Чтобы ввести какие-либо другие изменения в структуру создаваемой таблицы, следует завершить формирование таблицы с помощью мастера, после чего откорректировать структуру в обычном порядке. Как мы видим, использование этой возможности не освобождает от понимания основ проектирования БД, так как следует внимательно оценить, насколько предлагаемое в качестве образца решение соответствует вашим потреб-ностям, и, при необходимости, изменить предлагаемую структуру БД. Создать таблицу можно и путем импорта ее из других систем. Кроме того в виде таблицы можно сохранить результат запроса (см. гл. 2). В Access имеется еще возможность создавать таблицу в режиме таб-лицы, но эта возможность не представляется интересной.
После того, как таблицы созданы, можно задать их связанность. Для этого надо выбрать позицию меню “ Сервис/Схема данных ” (либо нажать соответствующую кнопку на панели инструментов). Далее, в от-крывшемся окне “Схема данных” следует добавить в окно те таблицы, между которыми будет определяться связь. Таблицы, между которыми определяется связь, чаще всего, связаны отношением 1:М. Для установ-ления связи надо позиционироваться на поле связи (обычно это первич-ный ключ) в основной таблице (та, которая стоит на стороне “1”) и, не отпуская клавишу мыши, перетащить появившийся значок на соответст-вующее поле в “зависимом” файле и отпустить клавишу мыши. После этого на экране появится окно “ Связи ” (рис. 1.23). Далее следует опре-делить, надо ли задавать ограничения целостности связи, и если да, то выбрать режимы корректировок (обновления и удаления). Если вы за-даете ограничения целостности, то поле связи основной записи должно быть проиндексировано. Рис. 1.23. Задание связи и ограничений целостности по связи В рассматриваемом нами в качестве примера случае при связыва-нии таблиц “КАФЕДРА” и “СОТРУДНИК” ограничение целостности следует задать, чтобы в таблице “СОТРУДНИК” не появлялись коды кафедр, которые отсутствуют в справочнике “КАФЕДРА”. Задавать “ каскадное обновление связанных полей ” в данном случае не имеет смысла. Каскадное обновление означает, что при изменении первичного ключа в основной таблице, соответствующие поля в связанной таблице автоматически изменяются. В таблице “КАФЕДРА” поле “КОД_КАФЕДРЫ” имеет тип “Счетчик”. Это означает, что изменять значение этого поля нельзя. Задавать каскадное удаление в данном слу-чае тоже опасно, так как в случае ликвидации "КАФЕДРА" окажутся удаленными все записи сотрудников, работавших на этой кафедре. Для связи же таблиц “СОТРУДНИК” и “ДЕТИ” (рис. 1.24) каскад-ное удаление вполне уместно. Рис. 1.24. Задание целостности связи и условий обновления связанных записей Обеспечить ссылочную целостность можно и иным способом – используя поле подстановки: если значения будут переноситься из свя-занной таблицы, то в подчиненной не может появиться значение, отсут-ствующее в основной таблице. Существуют понятия внутреннего, левого и правого соединения. В окне “ Связи ”, появляющемся при установлении связи между двумя таб-лицами, есть кнопка “ Объединение ”, нажав на которую пользователь попадает в окно “ Параметры объединения ”, в котором он может вы-брать одну из трех альтернатив: 1. объединение только тех записей, в которых значения связанных по-лей обеих таблиц совпадают; 2. объединение всех записей первой таблицы и только тех записей из второй таблицы, в которых значения связанных полей обеих таблиц совпадают, 3. объединение всех записей второй таблицы и только тех записей из первой таблицы, в которых значения связанных полей обеих таблиц совпадают. Первая из перечисленных альтернатив обозначает внутреннее, вторая – левое, третья – правое соединение.
Обеспечение целостности БД является одной из важнейших задач при создании БнД, так как обеспечение адекватности базы данных ото-бражаемой предметной области является одним из основных требова-ний, предъявляемых к БнД. При изложении вопросов создания и связывания таблиц мы уже касались некоторых аспектов обеспечения целостности БД. Рассмотрим другие возможности задания ограничений целостности. В Access многие ограничения целостности могут задаваться при создании таблицы. Тип поля определяет допустимые символы, которые могут быть использованы при его заполнении. Для некоторых типов полей, напри-мер, поля типа «дата», осуществляется и более сложная проверка. Если допущена ошибка в типе данных или неправильно введена дата, то поль-зователь должен обязательно исправить ошибку, так как СУБД не дает других возможностей продолжить работу. Многие из свойств полей также позволяют обеспечивать контроль цело-стности. Такие свойства полей как: o размер поля o формат поля o маска ввода o значение по умолчанию o условия на значения o сообщение об ошибке o обязательное поле o пустые строки o индексированное поле, в той или иной степени связано с ограничениями целостности. Поясним использование некоторых из перечисленных выше свойств в целях обеспечения контроля целостности на отдельных при-мерах. В поле нельзя ввести больше символов, чем это зафиксировано в свойстве «размер поля» или предопределено типом поля. Одной из самых гибких возможностей определения ограничений целостности является задание “ Условия на значения ”. Условия вводят-ся как выражения. Выражения могут быть простыми или сложными. Ис-пользуя их можно задавать и диапазоны. Например, условие: >#1.92#, заданное как “ Условие на значения ” для поля “ДА-ТА_ПРИЕМА_НА_РАБОТУ”, будет означать, что допустим ввод дат только после 1992 года. (Значения-даты необходимо заключать в симво-лы номера (#)). Такое ограничение целостности может быть использова-но, например, в случае, если организация, для которой ведется БД, была создана 1 января 1992 года, и все зачисления на работу были после этой даты. При задании такого ограничения целостности ввод значения в по-ле будет обязательным (даже если в свойстве поля «Условие на значе-ние» зафиксировано – «нет»). Условия на значения могут задаваться для полей или записей. Вы-ражения, определяющие условия на значения, не должны содержать функции, определяемые пользователем, статистические функции или функции по подмножеству, функции CurrentUser или Eval, а также ссыл-ки на формы, запросы и таблицы. Кроме того, выражение, указанное в качестве условия для поля, не должно содержать ссылки на другие поля. Выражение, указанное в качестве условия на значение для записи, мо-жет содержать ссылки на поля той же таблицы. Условия на значения для записей задаются в окне свойств табли-цы, вызываемом командой “ Свойства ” меню “ Вид ” в режиме конструк-тора таблицы. Если пользователь задает значение свойства “ Условие на значе-ние ”, но не определяет свойство “ Сообщение об ошибке ”, то при на-рушении условия на значение Microsoft Access выводит стандартное со-общение об ошибке. Если значение свойства “ Сообщение об ошибке ” задано (рис. 1.25), то в сообщении об ошибке выводится текст, указан-ный в качестве значения этого свойства.
Рис. 1.25. Задание ограничений целостности при описании полей табли-цы В Access нет специального способа задания домена перечисле-нием. Как было показано выше, этого можно достичь, используя “Мас-тер подстановки”. Кроме того, это можно сделать и путем задания соот-ветствующего выражения для свойства Условия на значения. Например, для поля “Должность” в БД сотрудников вузов можно задать условие "ассистент" Or "старший преподаватель" Or "доцент" Or "профессор". Microsoft Access автоматически накладывает условия на значение, определяемые типом данных поля, например, не допускается ввод тек-ста в числовые поля.
Дата добавления: 2017-01-14; Просмотров: 344; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |