КАТЕГОРИИ: Архитектура-(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) |
В СУБД Access
РАБОТА С БАЗАМИ ДАННЫХ BEGIN Пример Script-файла Отъем привилегий REVOKE [GRANT OPTION FOR] { {ALL [PRIVILEGES]! SELECT! DELETE! INSERT! UPDATE [(столбец [, столбец...])]} ON [TABLE] {ИмяТаблицы! ИмяПросмотра} FROM {<объект>! <список_пользователей>}! EXECUTE ON PROCEDURE ИмяПроцедуры FROM {<объект> I < список пользователей >}
Приложение 2 Рассмотрим Script-файл, осуществляющий создание БД и в ней нескольких таблиц, процедур и триггеров. Перед созданием БД ее старая версия уничтожается и выполняется оператор формата SET NAMES НаборСимволов; а именно SET NAMES WINI1251; Содержимое Script-файла: Set names WINI1251; Connect “d:\book\ib_sklad\ib_sklad.gdb” USER “SYSDBA” PASSWORD “masterkey”; Drop database; CREATE DATABASE “d:\book\ib_sklad\ib_sklad.gdb” USER “SYSDBA” PASSWORD "masterkey" default character set WIN1251; connect "d:\book\ib_sklad\ib_skiad.gdb" USER "SYSDBA" PASSWORD "masterkey"; CREATE TABLE POKUPATELI ( POKUP VARCHAR (20) NOT NULL, GOROD VARCHAR(12) COLLATE, ADRES VARCHAR(20), PRIMARY KEY (POKUP)); CREATE TABLE TOVARY( TOVAR VARCHAR(20) NOT NULL, ED_IZM VARCHAR(IO) NOT NULL, ZENA INTEGER NOT NULL, PRIMARY KEY (TOVAR) ); CREATE TABLE RASHOD( N_RASH INTEGER NOT NULL, DAT_RASH DATE NOT NULL, KOLVO INTEGER NOT NULL, TOVAR VARCHAR(20) NOT NULL, POKUP VARCHAR(20), FOREIGN KEY (POKUP) REFERENCES POKUPATELI, FOREIGN KEY (TOVAR) REFERENCES TOVARY, ); SET TERM ###; CREATE PROCEDURE FIND_MAX_KOLVO (IN_TOVAR VARCHAR(20)) RETURNS (MAX_KOLVO INTEGER) AS BEGIN SELECT MAX (KOLVO) FROM RASHOD INTO: MAX_KOLVO; SUSPEND; END ### CREATE PROCEDURE POK_LIST (IN_TOVAR VARCHAR(20)) RETURN (POK VARCHAR(20)) AS DECLARE VARIABLE AVG_KOLVO INTEGER; BEGIN SELECT AVG(KOLVO) FROM RASHOD WHERE TOVAR =: IN_TOVAR INTO: AVG_KOLVO; FOR SELECT POKUP FROM RASHOD WHERE KOLVO>: AVG_KOLVO INTO: POK DO BEGIN IF (:POK IS NULL) THEN POK=”Покупатель не указан”; SUSPEND; END END ###' CREATE TABLE TOVARY_LOG( DAT_IZM DATE DEISTV CHAR(3), OLD_TOVAR VARCHAR(20), NEW_TOVAR VARCHAR(20) ) ### CREATE TRIGGER TOVARY_ADD_LOG FOR TOVARY AFTER INSERT AS BEGIN INSERT INTO TOVARY_LOG (DAT_IZM, DEISTV, OLD_TOVAR, NEW_TOVAR) VALUES ("NOW",”ADD”, “”, NEW.TOVAR); END ### CREATE TRIGGER TOVARY_UPD_LOG FOR TOVARY AFTER UPDATE AS BEGIN INSERT INTO TOVARY_LOG (DAT_IZM, DEISTV, OLD_TOVAR, NEW_TOVAR) VALUES ("NOW", "UPD", OLD. TOVAR, NEW.TOVAR); END ### CREATE TRIGGER TOVARY_DEL_LOG FOR TOVARY ACTIVE AFTER UPDATE AS INSERT INTO TOVARY_LOG (DAT_IZM, DEISTV, OLD_TOVAR, NEW_TOVAR) VALUES ("NOW", "DEL",OLD.TOVAR,""); SET TERM; ### COMMIT
Учебно-методическое пособие для аспирантов и студентов всех специальностей
Минск 2002 СОДЕРЖАНИЕ
ВВЕДЕНИЕ Базы данных являются основой современных информационных систем и предназначены для выполнения двух основных задач: хранения больших объемов информации и обеспечения быстрого доступа к требуемой информации. Это подразумевает организацию соответствующей структуры хранения данных. Понятие «база данных» в информатике появилось в 60-х годах, когда объемы обработки информации на электронных носителях значительно выросли. Достижение двух вышеназванных целей уже невозможно было обеспечить оптимальным образом, используя стандартные текстовые документы, электронные таблицы и т.п., которые изначально были предназначены для выполнения, вообще говоря, других задач и, естественно, не обладали соответствующей структурой. Таким образом, говоря неформальным, «обыденным» языком, база данных (в дальнейшем БД) представляет собой набор взаимосвязанных данных, хранящихся в организованной специальным образом форме и обладающих определенной структурой. Любая БД содержит описание некоторой предметной области и является информационной моделью данных для реального объекта: предприятия, фирмы, склада и т.п., все составные части которого так или иначе взаимосвязаны между собой и направлены на выполнение некоторой общей задачи. Если же таких связей не наблюдается, то мы имеем дело, в принципе, с разными предметными областями реальности. В таком случае необходимо создавать разные базы данных, каждая из которых будет являться информационной моделью данных для соответствующего объекта. В качестве простейшего прототипа БД в «бумажном виде» может рассматриваться обычная библиотечная картотека с ее шкафами, ящичками и карточками. Библиотечная картотека, рассматриваемая как БД, обладает определенной структурой. После заполнения карточек их можно просмотреть по порядку, можно найти необходимую карточку, а можно выбрать целый ряд карточек, данные в которых отвечают определенному условию. В подобных отживающей свое время библиотечной бумажной картотеке современных электронных «картотеках», а точнее, в компьютерных БД может храниться информация о сотрудниках фирмы, о выпускаемой или продаваемой продукции, о деловых партнерах и т.д. При разработке БД, как информационной системы с соответствующей структурой, обычно преследуются следующие цели: · устранение дублирования информации при хранении; · обеспечение быстрого доступа к информации; · обеспечение целостности и достоверности информации; · организация парольного доступа к информации; · обеспечение простоты работы с информацией. В компьютерных автоматизированных информационных системах (АИС) к организации данных предъявляются следующие стандартные требования: 1) Интеграция данных, что означает - все данные должны накапливаться и храниться централизованно, создавая в реальном масштабе времени обновляемую модель предметной области. 2) Независимость прикладных программ от данных, т.е. отделение логической модели программного обеспечения от физического представления в памяти компьютера. 3) Безопасность данных, под которой понимают защиту данных от случайного или преднамеренного доступа к ним лиц, не имеющих на это права. 4) Минимальная избыточность данных, т.е. требования новых приложений должны удовлетворяться за счет существующих данных, а не путем создания новых файлов. 5) Обработка запросов должна быть обеспечена с помощью высокоуровневого языка запросов. Таким образом, используя формальный, «технический» язык, можно сказать, что БД - это совокупность организованных в определенной структуре данных, обладающая следующими качествами: · интегрированностью, т.е. направленностью на решение общих задач; · модельностью, т.е. структурированностью, отражающей некоторую предметную область; · взаимосвязанностью данных, описывающих предметную область; · независимостью описания данных от прикладных программ. Для разработки БД используются специальные прикладные программы - системы управления базами данных (СУБД). СУБД - это программное приложение, позволяющее обеспечить: · пользователей языковыми средствами описания и манипулирования данными; · поддержку логических моделей данных; · операции создания и манипулирования данными (выбор, вставка, обновление, удаление и т.п.); · защиту и целостность данных. Поскольку при коллективном режиме работы с БД многих пользователей возможно использование общих физических данных, то необходимо обеспечить защиту от некорректных обновлений пользователями, защиту от несанкционированного доступа, защиту данных от разрушений при сбоях оборудования и т.п. Таким образом, с помощью СУБД разрабатывается структура БД, удовлетворяются все предъявляемые к ней требования, а также обеспечивается непосредственная работа с БД. В настоящее время на персональных компьютерах создаются и используются БД на основе таких СУБД, как dBase, FoxPro, Paradox, Access, Oracle и др. В настоящем пособии рассматриваются основные приемы работы с БД, созданными в СУБД Access 97, которая входит в состав пакета прикладных программ Microsoft Office Professional. При этом все основные операции по работе с БД будут справедливы как для предыдущей версии Access 2.0, так и для последующей версии Access 2000. Контрольные вопросы 1. Назначение БД. 2. Две основные задачи, выполняемые БД. 3. Неформальное определение БД. 4. Понятие информационной модели объекта. 5. Примеры объектов для создания БД. 6. Основные цели разработки БД. 7. Основные требования к данным в компьютерных АИС. 8. Формальное определение БД. 9. Назначение и основные функции СУБД. 10. Основные типы СУБД для ПК.
· ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ
Разработка современных текстовых или табличных документов практически с самого начала происходит с использованием соответствующих прикладных программ – текстового редактора или программы электронных таблиц и т.п. В отличие от этого создание БД требует перед использованием соответствующей СУБД выполнения очень важного и во многом решающего для нормального функционирования будущей БД этапа – этапа планирования, а точнее проектирования БД. Этот этап выполняется фактически «вручную» без привлечения компьютера и соответствующего программного обеспечения, так как предполагает планирование и разработку структуры БД «на бумаге». При создании БД прежде всего необходимо определить, какие объекты будет описывать БД и какими свойствами эти объекты будут характеризоваться. При этом с самого начала необходимо выбрать соответствующую модель описания данных и соответствующую этой модели СУБД. Модель описания данных представляет собой множество допустимых типов данных и отношений между ними и состоит из множества структур данных и множества операций над данными, ограниченного требованием обеспечения целостности БД. Целью моделирования данных является создание логической информационной структуры БД. В информационных моделях данных объекты одной природы, о которых надо хранить информацию в БД, иногда называют сущностью. Например, множество студентов некоторой группы, как совокупность объектов одной природы, может быть обозначено сущностью «Студенты». Свойства, характеризующие такую сущность, называют атрибутами. Например, атрибутами сущности «Студенты» могут являться: «Фамилия», «Имя», «Год рождения» и т.п. Между различными сущностями предметной области и их атрибутами могут существовать межсущностные и межатрибутные связи, необходимые для создания структуры БД как единой информационной системы. Таким образом, любая БД состоит из описания некоторых объектов, которые представляются записями в базе данных с определенным набором атрибутов, и содержит также информацию о связях между этими объектами. Атрибутом в БД является логически неделимый элемент, который характеризует некоторое свойство объекта. Атрибуты разделяются на атрибуты-признаки и атрибуты-основания. Атрибут-признак является качественной характеристикой объекта и участвует в логических операциях и организации межсущностных связей между объектами, а атрибут-основание является количественной характеристикой объекта и участвует в вычислениях. Информационная модель предметной области с выделенными в ней сущностями, атрибутами и связями должна быть описана для представления в компьютере. Это описание и выполняется средствами модели данных, которую поддерживает СУБД, и называется внутренней схемой информационной модели. · Типы баз данных Наиболее широко распространенными являются иерархические, сетевые и реляционные модели данных, каждая из которых имеет свою внутреннюю схему построения. Соответствующим образом называют и СУБД, поддерживающие перечисленные модели. В иерархических БД данные представляются в виде древовидной структуры (см. рис.1). Дерево представляет собой иерархию элементов, называемых узлами. На самом верхнем уровне иерархии имеется только один узел - корень. Каждый узел, кроме корня, связан с одним узлом на более высоком уровне, называемом исходным узлом для данного узла. Ни один элемент не имеет более одного исходного. Каждый элемент может быть связан с одним или несколькими элементами на более низком уровне. Они называются порожденными. Иерархическая база данных, как правило, состоит из совокупности таких «деревьев», которые образуют множество деревьев, или «лес». Иерархические БД обладают высокой скоростью доступа к требуемой информации в направлении от основания дерева к его вершинам, однако, с другой стороны, затрудненным доступом к информации в обратном направлении - от периферии к основанию дерева.
Рис.1. Схематическое изображение иерархической БД Если порожденный элемент в отношении между данными имеет более чем один исходный элемент, то это отношение, очевидно, уже нельзя описать как древовидную структуру. Его описывают в виде сетевой структуры (см. рис. 2).
Рис. 2. Схематическое изображение сетевой БД Каждый элемент в сетевой структуре может быть связан с любым другим элементом. Такие структуры используются для представления данных в сетевых СУБД. В сетевых моделях снимается указанный выше недостаток иерархических БД, однако, с другой стороны, язык манипулирования данными для таких моделей всегда является гораздо более сложным, так как содержит большое число разнотипных команд и слабо формализуется. В настоящее время на персональных компьютерах наиболее распространены т.н. реляционные модели БД. В основе реляционной модели данных лежит понятие отношения, или реляции (relation – отношение, англ., отсюда и происходит термин реляционные БД). Отношение удобно и наглядно представляется в виде двумерной (плоской) таблицы при соблюдении определенных ограничивающих условий. Данные в таблицах могут быть связанными, а сама реляционная база данных представляет собой набор таких взаимосвязанных таблиц. В реляционных БД (РБД) все объекты разделяются на типы, т.е. каждый объект относится к некоторому типу. Объекты одного и того же типа имеют свой, соответствующий их типу, набор атрибутов. Поэтому объекты одного типа в РБД представляются записями с одинаковым количеством полей, а каждый экземпляр объекта можно представить как вектор с соответствующим количеством измерений. Например, если n – количество атрибутов объекта данного типа, то i-й экземпляр объекта можно представить как вектор Аi=(Ai1,Ai2,…,Ain). Вся совокупность из m экземпляров объектов данного типа может быть представлена в виде матрицы или таблицы размерностью m*n вида Множество строк в таблице Rij, т.е. экземпляров объекта данного типа, и называется отношением, а совокупность всех возможных значений таблицы Rij называется схемой отношений. В зависимости от содержания в РБД различают два типа отношений: объектные и связные. Объектное отношение хранит данные об объектах и отражает зависимости между атрибутами объекта, связное отношение отражает зависимости между отдельными таблицами в РБД. В объектном отношении один из атрибутов однозначно идентифицирует объект в таблице, т.е. запись в таблице, а именно каждому конкретному значению такого атрибута будет соответствовать одна и только одна запись (строка) в таблице. Понятно, что значения такого атрибута в столбце таблицы должны быть уникальны и никогда не повторяться. Такой атрибут называется первичным ключом отношения. Для удобства первичный ключ обычно размещают в первом столбце таблицы. Для обеспечения уникальности значения первичного ключа, если в таблице нет одного атрибута с неповторяющимися значениями, такой ключ может состоять из нескольких атрибутов, и тогда он называется составным ключом. В связном отношении атрибуты-признаки разных таблиц используются для организации связей между таблицами. Благодаря наличию таких связей обеспечивается целостность БД и взаимодействие данных, содержащихся в различных таблицах БД. Реляционную модель данных предложил в 1969 году Э.Ф. Кодд – сотрудник фирмы IBM. Основной принцип реляционного подхода заключается в использовании операций над таблицами, а не над отдельными записями, что имеет место в иерархических и сетевых БД. Можно выделить следующие важные преимущества РБД: 1. отношения (таблицы) не зависят от способа хранения данных в компьютере; 2. теория отношений является областью математической логики, т.н. реляционной алгебры, и поэтому хорошо формализована; 3. имеется простой и единообразный способ представления данных в виде таблиц; 4. осуществляется надежное обеспечение целостности и защиты данных и некоторые другие. Важным достоинством реляционной модели данных является то, что на основе уже имеющихся схем отношений можно получать новые схемы, которые ранее в файле базы данных не были представлены. Таким способом соответствующая СУБД позволяет получать ответы на незапланированные прикладными программами информационные запросы. Необходимо отметить, что РБД не лишены и определенных недостатков: медленность работы для больших БД, жесткость структуры данных и некоторые другие. Однако для персональных компьютеров и не очень больших БД в настоящее время используются исключительно реляционные модели БД. Итак, перечислим исходные компоненты реляционной модели данных, основанной на совокупности отношений: все множество объектов (записей) предметной области, которую описывает БД, разделяется на несколько типов, каждый из которых представляется своей таблицей; каждому типу объектов соответствует определенный набор атрибутов, который определяет содержание соответствующей данному типу объектов таблице; каждый тип объектов имеет свои признаки или характеристики – атрибуты, значения которых содержатся в полях – в столбцах таблицы; каждому конкретному объекту данного типа соответствует определенный набор значений этих атрибутов, соответствующий строке в таблице; атрибут (или набор атрибутов), однозначно определяющий объект в таблице (т.е. строку в таблице), называется первичным ключом объекта; в таблицах имеются также атрибуты, являющиеся первичными ключами в других таблицах, т.н. внешние ключи, которые обеспечивают связь между таблицами в РБД.
Дата добавления: 2015-05-09; Просмотров: 677; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |