Текст книги "Разработка и проектирование СУБД"
Автор книги: Валерий Альмухаметов
сообщить о нарушении
Текущая страница: 1 (всего у книги 1 страниц)
Валерий Альмухаметов
Разработка и проектирование СУБД
Этапы и шаги проектирования
Процесс проектирования любой базы данных условно можно разделить на пять этапов:
анализ – определение круга задач и построение диаграмм, отображающих логические взаимосвязи в разрабатываемой системе;
проектирование – фактическая реализация таблиц и связей между ними на основании логических диаграмм;
разработка функциональности – создание подпрограмм и программ, реализующих процедуры обработки данных в соответствии с постановкой задачи; на этом этапе формируются связи между самой БД и обрабатывающим ее приложением;
тестирование – проверка корректности взаимодействия программной части и базы данных;
доработка – совершенствование БД и программной части с целью устранения недостатков, обнаруженных на этапе тестирования.
На этапе анализа необходимо:
идентифицировать сущности, которые осуществляют функциональную деятельность, и формирование из их операций последовательности событий, которые помогут идентифицировать все сущности (сущность – объект материального мира: работник, продукт…) и взаимосвязи между ними;
идентифицировать характеристики сущностей. Например, сущность «Работник» может включать такие характеристики как «Профессия», «Зарплата»;
идентифицировать взаимосвязи между сущностями (Например, «Работник» получает «Зарплату» …).
На этапе проектирования:
устанавливаются соответствия между сущностями и характеристиками и между отношениями и атрибутами. Составляется набор отношений (таблиц для сущностей) и их атрибутов (полей таблиц – свойств сущностей, например, работник имеет фамилию, должность …);
определяются атрибуты, которые уникальным образом идентифицируют каждую сущность (например, табельный номер работника);
задаются первичные ключи (поля с неповторяющимися значениями) для каждого из отношений, простые или составные (например, составной ключ по полям имя, отчество и фамилия);
вырабатываются правила, которые будут устанавливать и поддерживать целостность данных (типы данных, например, текстовый, числовой тип …, значения по умолчанию, например, равно 100, ограничения, например, не более, не менее);
выполняется нормализация данных. Каждой нормальной форме соответствует некоторый набор ограничений. В таблице, соответствующей первой нормальной форме, каждое поле должно содержать только один элемент данных, например, адресу соответствует сразу три поля: город, улица и дом. Во второй нормальной форме каждый вне ключевой атрибут должен полностью зависеть от первичного ключа, например, если в таблице определить составной первичный ключ по фамилии и имени, то есть вероятность существования двух сотрудников с одинаковой фамилией и будет связь с частью первичного ключа. Отношение находится в третьей нормальной форме в том случае, если каждый вне ключевой атрибут полностью зависит от первичного ключа. Для четвертой нормальной формы, между столбцами таблицы не допускается многозначная зависимость. Например, некоторый сотрудник может занимать сразу две должности, необходимо будет создать промежуточную таблицу.
Пример СХЕМЫ ДАННЫХ СУБД:
Разработка СУБД с использованием языка SQL
При описании реляционной модели в SQL вместо терминов: отношение, атрибут, кортеж используется терминология: соответственно – таблица, столбец, строка.
Типы данных SQL
Символьные типы данных – содержат буквы, цифры и специальные символы.
CHAR или CHAR(n) -символьные строки фиксированной длины. Длина строки определяется параметром n. CHAR без параметра соответствует CHAR(1).
VARCHAR(n) – символьная строка переменной длины.
Целые типы данных – поддерживают целые числа. Над этими типами разрешается выполнять арифметические операции и применять к ним функции (определение максимального, минимального, среднего и суммарного значения столбца).
INTEGER или INT– целое, для хранения которого отводится, как правило, 4 байта. Интервал значений от – 2147483647 до + 2147483648
SMALLINT – короткое целое (2 байта), интервал значений от – 32767 до +32768
Вещественные типы данных – числа с дробной частью.
FLOAT и SMALLFLOAT – числа с плавающей точкой.
DECIMAL(p) – тип данных аналогичный FLOAT с числом значащих цифр p.
Денежные типы данных – денежные величины.
MONEY(p,n) – все аналогично типу DECIMAL(p).
Дата и время – используются для хранения даты, времени и их комбинаций. Большинство СУБД умеет определять интервал между двумя датами, а также уменьшать или увеличивать дату на определенное количество времени.
DATE – тип данных для хранения даты.
TIME – тип данных для хранения времени.
INTERVAL – тип для хранения интервала времени.
DATETIME – тип данных для хранения времени (год + месяц + день + часы + минуты + секунды + доли секунд).
Двоичные типы данных – позволяют хранить данные любого объема в двоичном коде (изображения, файлы и т.д.).
BINARY BYTE BLOB
Последовательные типы данных – используются для представления возрастающих числовых последовательностей.
SERIAL – тип данных на основе INTEGER, позволяющий сформировать уникальное значение.
СУБД «ПРЕДПРИЯТИЕ»
Создать на рабочем диске, например, D: папку, например, с именем Otdel, которая будет содержать файлы базы данных. Используя окно команд СУБД печатать программный код, представленный ниже. Если оператор переносится частично в следующую строку, то необходимо добавлять точку с запятой.
1.Создание базы данных и таблиц
Создание CREATE и удаление DROP.
Например:
CREATE DATABASE ‘d:otdelotdel’
CREATE TABLE d:otdeltem (id_tem INT PRIMARY KEY,;
nazv CHAR(10) NOT NULL)
CREATE TABLE d:otdelsot (id_sot INT PRIMARY KEY,;
dol CHAR(15) NOT NULL, okl CURRENCY, id_tem INT)
CREATE TABLE d:otdeldog (suma CURRENCY NOT NULL,;
Dat_b DATE, Dat_e DATE, id_tem INT,;
FOREIGN KEY id_tem TAG id_tem REFERENCES tem)
Первичный ключ таблицы TEM Id_tem, является вторичным таблицы DOG. В таблице SOT первичным является Id_sot.
Так как мы не соединили таблицу SOT по полю Id_tem с таблицей TEM, то, для примера удалим ее и создадим вновь, полю Id_sot присвоим вместо первичного ключ уникальный.
DROP TABLE sot 'd:otdel' RECYCLE
CREATE TABLE d:otdelsot (id_sot INT UNIQUE NOT NULL,;
dol CHAR(15) NOT NULL, okl CURRENCY, id_tem INT,;
FOREIGN KEY id_tem TAG id_tem REFERENCES tem)
Элементы столбца NOT NULL должны иметь не пустое значение. UNIQUE – значение каждого элемента должно быть уникальным. PRIMARY KEY – является первичным ключом. REFERNECES столбец является внешним ключом и указывает на ключ какой таблицы он ссылается.
2.Заполнение таблиц базы данных
Для того чтобы добавить столбец в таблицу, используется оператор ALTER с добавкой ADD:
ALTER TABLE d:otdeltem ADD COLUMN kod INT NOT NULL
Чтобы удалить столбец из таблицы, используется оператор ALTER с добавкой DROP:
ALTER TABLE d:otdeltem DROP COLUMN kod
Добавим в созданные таблицы записи.
Заполнить данными таблицу Sot:
INSERT INTO d:otdeltem (id_tem, nazv) VALUES (1, «Proekt1»)
INSERT INTO d:otdeltem (id_tem, nazv) VALUES (2, «Proekt2»)
INSERT INTO d:otdelsot (id_sot,dol,okl,id_tem);
VALUES(1,'sotr',5000,1)
и повторить для других строк таблицы Sot:
(2,'sotr',5000,2)
(3,'sotr',6000,1)
(4,'sotr',4000,2)
(5,'sotr',3000,1)
(6,'sotr',2500,2)
Заполнить данными таблицу Dog:
INSERT INTO d:otdeldog (suma,dat_b,dat_e,id_tem);
VALUES(500000,{01/01/07},{01/01/09},1)
INSERT INTO d:otdeldog (suma,dat_b,dat_e,id_tem);
VALUES(400000,{01/01/08},{01/01/09},2)
INSERT INTO d:otdeldog (suma,dat_b,dat_e,id_tem);
VALUES(0,{01/01/08},{01/01/09},2)
При добавлении данных в таблицы можно использовать вычисления, например, добавим в таблицу столбец и вычислим период действия договора в количестве месяцев:
ALTER TABLE d:otdeldog ADD COLUMN period float
INSERT INTO d:otdeldog (suma, dat_b, dat_e, id_tem, period);
VALUES(0,{01/01/08},{03/03/09},2,(dog.dat_e-dog.dat_b)/30.5)
3.Модификация данных
Изменим в таблице Sot записи:
UPDATE d:otdelsot SET okl = okl*2 WHERE (id_sot = 6);
OR (okl BETWEEN 2500.0000 AND 3500.0000)
Удалим из таблицы Dog лишнюю запись:
DELETE FROM d:otdeldog WHERE suma = 0.0000
CLEAR
PACK
DELETE помечает выбранные записи на удаление. CLEAR удаляет выбранные записи. PACK обновляет таблицу.
4.Выборка данных
Для извлечения записей из таблиц в SQL определен оператор SELECT.
В SQL также определены функции. Среди них:
AVG(<имя поля>) – среднее по значениям данного поля;
COUNT(<имя поля>) или COUNT (*) – число записей;
MAX(<имя поля>) – максимальное из значений поля;
MIN(<имя поля>) – минимальное из значений поля;
SUM(<имя поля>) – сумма значений поля.
Группировка данных в операторе SELECT осуществляется с помощью ключевого слова GROUP BY и ключевого слова HAVING, с помощью которого задаются условия разбиения записей на группы. Для сортировки данных, получаемых при помощи оператора SELECT, служит ключевое слово ORDER BY.
Выполним запрос с вычислениями:
SELECT id_tem AS код_темы, suma AS сумма,;
(dat_e-dat_b)/30.5 AS период FROM dog
5. Создание представлений
Представления таблиц создается с помощью оператора SELECT. После создания представления с полученным набором данных можно обращаться как с таблицей.
Создадим представление для подсчета рабочего периода в количестве месяцев по договорам:
CREATE VIEW Period AS SELECT id_tem AS Tema,;
suma AS Cymma, (dat_e-dat_b)/30.5 AS Period FROM dog
Создадим представление для подсчета суммы выделяемой на заработную плату за весь период и суммы налога на заработную плату по темам:
CREATE VIEW Zarplata AS SELECT id_tem AS Tema,;
cymma as cymma,sum(okl)*period AS Zarp,;
sum(okl)*period*0.36 AS Nalog FROM sot,period;
WHERE sot.id_tem=period.Tema GROUP BY id_tem
Создадим представление для подсчета остатка суммы по темам:
CREATE VIEW Ostatok AS SELECT tema AS Tema, ;
suma AS symma,suma-zarp-nalog AS ostatok;
FROM zarplata,dog;
WHERE dog.id_tem=zarplata1.Tema GROUP BY Tema
Разработка СУБД в среде ACCESS
По умолчанию при запуске Microsoft Access предоставляется возможность создать новую базу данных для хранения и обработки данных или открыть уже существующую. После того, как пользователь укажет папку местонахождения и имя базы данных, которую нужно создать или открыть, на экране появится возможность отображения объектов, включенных в базу данных при открытии или основной элемент – таблица для оформления. Access автоматически добавляет расширение имени файла базы данных .MDB.
Для создания таблиц, форм, запросов, отчетов базы данных можно использовать режим конструктора или режим мастера. Для создания связи между таблицами необходимо определить первичный ключ в таблицах. Через пункт меню «Схема данных» выполняется объединение таблиц для совместного использования данных.
Формы предоставляют сервисные функции заполнения таблиц. Запросы обеспечивают быстрый и эффективный доступ к данным, хранящимся в таблице. При создании таблиц с помощью Access не используются вычисляемые поля. Создание вычисляемого поля осуществляется путем простого ввода выражения в пустом столбце бланка запроса. Для создания вычисляемых полей используется помощь в виде мастера – построителя выражений.
СУБД «ПРЕДПРИЯТИЕ»
1.Создание таблиц базы данных:
а) после запуска программы ACCESS щелкнуть кнопку Office, выбрать СОЗДАТЬ
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.