
Разработка и проектирование СУБД
Описание
Пособие посвящено разработке и проектированию систем управления базами данных (СУБД). В нем рассматриваются этапы создания СУБД, от анализа до доработки. Подробно описываются методы проектирования, включая логические диаграммы, создание таблиц и связей, разработку функциональности, тестирование и доработку. Используются примеры и скриншоты для лучшего понимания. Пособие подходит для начинающих и опытных разработчиков, желающих изучить или углубить свои знания в области проектирования СУБД. Описаны различные типы данных, используемые в SQL, Access и Visual FoxPro, что позволит читателю разобраться в нюансах работы с базами данных. Пошаговые инструкции и наглядные примеры помогут освоить процесс проектирования СУБД.
Процесс проектирования любой базы данных условно можно разделить на пять этапов:
анализ – определение круга задач и построение диаграмм, отображающих логические взаимосвязи в разрабатываемой системе;
проектирование – фактическая реализация таблиц и связей между ними на основании логических диаграмм;
разработка функциональности – создание подпрограмм и программ, реализующих процедуры обработки данных в соответствии с постановкой задачи; на этом этапе формируются связи между самой БД и обрабатывающим ее приложением;
тестирование – проверка корректности взаимодействия программной части и базы данных;
доработка – совершенствование БД и программной части с целью устранения недостатков, обнаруженных на этапе тестирования.
На этапе анализа необходимо:
идентифицировать сущности, которые осуществляют функциональную деятельность, и формирование из их операций последовательности событий, которые помогут идентифицировать все сущности (сущность – объект материального мира: работник, продукт…) и взаимосвязи между ними;
идентифицировать характеристики сущностей. Например, сущность «Работник» может включать такие характеристики как «Профессия», «Зарплата»;
идентифицировать взаимосвязи между сущностями (Например, «Работник» получает «Зарплату» …).
На этапе проектирования:
устанавливаются соответствия между сущностями и характеристиками и между отношениями и атрибутами. Составляется набор отношений (таблиц для сущностей) и их атрибутов (полей таблиц – свойств сущностей, например, работник имеет фамилию, должность …);
определяются атрибуты, которые уникальным образом идентифицируют каждую сущность (например, табельный номер работника);
задаются первичные ключи (поля с неповторяющимися значениями) для каждого из отношений, простые или составные (например, составной ключ по полям имя, отчество и фамилия);
вырабатываются правила, которые будут устанавливать и поддерживать целостность данных (типы данных, например, текстовый, числовой тип …, значения по умолчанию, например, равно 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
Похожие книги

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
Эта книга – ваш полный гид по работе с программой 1С:Управление небольшой фирмой 8.2. Вы научитесь автоматизировать управленческий учет основных операций, а также процессы маркетинга и кадрового планирования. Подробные уроки охватывают все аспекты деятельности современного предприятия, от ввода данных до формирования отчетов. Практические примеры и рекомендации основаны на реальных ситуациях, гарантируя эффективное применение полученных знаний. Изучите все возможности программы 1С:Управление небольшой фирмой 8.2 с нуля, шаг за шагом.

Искусство программирования для Unix
Эта книга не просто руководство по Unix, а исследование его философии и культуры. Она не ориентирована на технические подробности, а на понимание "почему это следует сделать", а не "как". Автор, Эрик Стивен Реймонд, обращается к опыту ведущих разработчиков Unix, чтобы показать, как коллективная культура и традиции влияют на создание эффективных и устойчивых программ. Книга разделена на четыре части: Контекст, Проектирование, Реализация и Сообщество. Каждый раздел раскрывает различные аспекты Unix-культуры, от истории и философии до практических рекомендаций для программистов. Книга подходит для тех, кто хочет понять не только "как", но и "почему" Unix-программирование так эффективно. Понимание принципов проектирования, заложенных в Unix, поможет вам создавать более качественные и гибкие программы.

Основы объектно-ориентированного программирования
Этот фундаментальный учебник посвящен основам объектно-ориентированного программирования и программной инженерии. В нем излагаются ключевые понятия объектной технологии: классы, объекты, управление памятью, типизация, наследование и универсализация. Особое внимание уделяется проектированию по контракту и обработке исключений, как важным механизмам для обеспечения корректности и устойчивости программных систем. Книга основана на работах Б. Мейера и предлагает глубокое понимание объектно-ориентированного программирования.

Искусство вторжения
Эта книга, написанная Кевином Митником и Вильямом Саймоном, представляет собой увлекательный сборник историй о хакерских вторжениях. Авторы, являющиеся экспертами в области кибербезопасности, рассказывают о реальных историях взломов, подчеркивая не только технические аспекты, но и мотивы, риски и последствия таких действий. Книга предоставляет уникальный взгляд на мир хакеров, позволяя читателям понять сложную динамику киберпреступности и кибербезопасности. Она не только повествует о хакерских приключениях, но и служит ценным руководством для профессионалов в области информационных технологий, позволяя им повысить уровень безопасности своих систем. Книга также будет интересна широкому кругу читателей, интересующихся криминальными историями и приключениями.
