Базы данных — совокупность данных, организованная по определенным правилам, предусматривающая общие принципы описания, хранения, манипулирования данными, независимыми от прикладных программ.
СУБД – система управления базами данных – совокупность программ, предназначенных для управления БД и возможности получения пользователями необходимой информации из базы. В задачи СУБД входят следующие задачи:
- Формирование и поддержание БД
- Обработка информации
- Прием запросов
- Предоставление информации пользователям
- Обеспечение целостности и реорганизации ценностей БД
- Организация совместной работы пользователей
На сегодняшний день существует множество различных систем управления базами данных. Они все используют разные средства и функции, но преимущественно у всех СУБД в основе лежат одинаковые понятия. Поэтому для обобщения этих понятий, приемов и методов на весь класс СУБД, я хотела бы взять программу, входящую в Microsoft Office, Microsoft Access.
Microsoft Access –реляционная СУБД, в которой предусмотрены все необходимые средства для определения и обработки данных, а также управления ими при работе с большим объемом информации.
Access — функционально полная система, имеющая мощные средства для работы в этой программе. Ее преимуществом перед другими является простота, наличие всех средств для успешной обработки и управления БД.
- Анализ предметной области
На первом этапе проектирования базы данных необходимо определить цель создания базы данных, основные ее функции и информацию, которую она должна содержать.
Мы разрабатываем базу данных для информационной системы медицинских организаций города. Схема работы не проста. Каждая больница города состоит из одного или нескольких корпусов, в каждом из которых размещается одно или несколько отделений, специализирующихся на лечении определенной группы болезней; каждое отделение и имеет некоторое количество палат на определенное число коек. Поликлиники могут административно быть прикрепленными к больницам, а могут быть и нет. Как больницы, так и поликлиники обслуживаются врачебным (хирурги, терапевты, невропатологи, окулисты, стоматологи, рентгенологи, гинекологи и пр.) и обслуживающим персоналом (мед.сестры, санитары, уборщицы и пр.).
Каждая категория врачебного персонала обладает характеристиками, присущими только специалистам этого профиля и по-разному участвует в связях: хирурги, стоматологи и гинекологи могут проводить операции, они же имеют такие характеристики, как число проведенных операций, число операций с летальным исходом; рентгенологи и стоматологи имеют коэффициент к зарплате за вредные условия труда, у рентгенологов и невропатологов более длительный отпуск. Врачи любого профиля могут иметь степень кандидата или доктора медицинских наук. Степень доктора медицинских наук дает право на присвоение звания профессора, а степень кандидата медицинских наук на присвоение звания доцента. Разрешено совместительство, так что каждый врач может работать либо в больнице, либо в поликлинике, либо и в одной больнице и в одной поликлинике. Врачи со званием доцента или профессора могут консультировать в нескольких больницах или поликлиниках.
Курсовая работа реляционные базы данных и субд
... ресурсам. По используемой модели данных СУБД разделяют на иерархические, сетевые, реляционные, объектно-ориентированные и др. Некоторые СУБД могут одновременно поддерживать несколько моделей данных. Для работы с данными, хранящимися в базе, используются следующие ...
Лаборатории, выполняющие те или иные медицинские анализы, могут обслуживать различные больницы и поликлиники, при условии наличия договора на обслуживание с соответствующим лечебным заведением. При этом каждая лаборатория имеет один или несколько профилей: биохимические, физиологические, химические исследования.
Пациенты амбулаторно лечатся в одной из поликлиник, и по направлению из них могут стационарно лечиться либо в больнице, к которой относится поликлиника, либо в любой другой, если специализация больницы, к которой приписана поликлиника не позволяет провести требуемое лечение. Как в больнице, так и в поликлинике ведется персонифицированный учет пациентов, полная история их болезней, все назначения, операции и т.д. В больнице пациент имеет в каждый данный момент одного лечащего врача, в поликлинике — несколько.
- Определение сущностей, которые должна содержать база данных
Один из наиболее сложных этапов в процессе создания базы данных — разработка таблиц, так как результаты, которые должна выдавать база данных не всегда дают полное представление
Таблицы должны содержать всю информацию разрабатываемой базы. В данном случае это Болезни, Больницы, Карта пациента, Карта стационарного лечения, Лабораторные исследования, Сведения о врачах, Сведения о кабинетах, Сведения о корпусах, Сведения о лабораториях, Сведения о пациенте, Сведения о сотрудниках и Сведения об отделениях. Все таблицы хранят максимально полную характеристику, информацию и описание для дальнейшей успешной работы с базой данных.
- Определение атрибутов.
Для сущности «Болезни» определяем следующие атрибуты:
- Код болезни
- Название болезни
- Признаки
- Последствия болезни
Для сущности «Больница»:
- Код больницы
- Название больницы
- Адрес
- Глав. Врач
- Телефон
Для сущности «Карта пациента»:
- Код карты
- Код пациента
- Название больницы
- Дата приема
- Код отделения
- Болезнь
- Код врача
- Номер кабинета
Для сущности «Карта стационарного лечения»:
- Код карты стационарного лечения
- Код пациента
- Название больницы
- Процедуры
- Дата поступления
- Дата выписки
- Состояние
- Код отделения
- Температура
- Болезнь
- Оперирующий врач
Для сущности «Лабораторные исследования»:
Проектирование базы данных «Автовокзал»
... информационные потоки, необходимо выбрать модель базы данных. В данной курсовой работе требуется разработать приложение для работы с базой данных "Автостанция", система управления которой предназначена ... базу данных. УТВЕРЖДАЮ Главный диспетчер _____________ Петров А. В. СВЕДЕНИЯ О СВОБОДНЫХ МЕСТАХ НА РЕЙС НА 25.09.2009, 14: 00 № Номер рейса Дата отправления Пункт назначения Номер автобуса Количество ...
- Код лабораторного исследования
- Код лаборатории
- Начальная дата
- Конечная
- Главный лаборант
Для сущности «Сведения о врачах»:
- Код врача
- Фамилия
- Имя
- Отчество
- Специальность
- Доктор мед. наук
- Кандидат мед. наук
- Профессор
- Доцент
- Стаж работы
Для сущности «Сведения о кабинетах»:
- Код кабинета
- Номер кабинета
Для сущности «Сведения о корпусах»:
- Код корпуса
- Название больницы
- Номер корпуса
- Ответственный за корпус
- Телефон
- Наличие лабораторий
- Количество отделений
Для сущности «Сведения о лабораториях»:
- Код лаборатории
- Код корпуса
- Телефон
- Название профиля
- Название больницы
Для сущности «Сведения о пациенте»:
- Код врача
- Номер карты
- Фамилия
- Имя
- Отчество
- Дата рождения
- Наличие операции
- Домашний телефон
- Домашний адрес
- Название больницы
Для сущности «Сведения о сотрудниках»:
- Код сотрудника
- Название больницы
- Фамилия
- Имя
- отчество
- должность
- Стаж работы
- Телефон
- Заработная плата
Для сущности «Сведения об отделениях»:
- Код отделения
- Название отделения
- Код корпуса
- Главный по отделению
- Телефон
- Общее количество палат
- Общее количество коек
- Количество свободных палат
- Количество свободных коек
- Присвоение ключевых полей
Для связи данных из разных таблиц, например, Больницы и Сведения о корпусах, каждая таблица должна содержать набор полей или поле, где будет задаваться индивидуальное значение каждой записи в таблице. Такое поле или набор полей называют основным ключом. Именно благодаря ключам будет функционировать база данных, сопоставляя, связывая и формируя информацию из разных таблиц. Количество ключей варьируется от одного до нескольких. Вообще, ключ – это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности.
Прежде чем начинать проектирование базы данных, необходимо разобраться, как функционирует предметная область создаваемой БД. Для этих целей используют искусственные формализованные языковые средства. В связи с этим под инфологической моделью понимают описание предметной области, выполненное с использованием специальных языковых средств, не зависящих от используемых в дальнейшем программных средств. Вообще, лучше сначала нарисовать на бумаге таблицы с данными, потом преобразовать их из 1 Нормальной Формы во Вторую, и из Второй – в Третью. Так удобнее будет.
Определяют три основные класса сущностей:
- стержневые
- ассоциативные
- характеристические.
Стержневая сущность – независимая сущность, которая имеет независимое существование, хотя может обозначать другие сущности.
Характеристическая сущность (характеристика) – это связь вида «многие-к-одному» или «одна-к-одной» между двумя сущностями (частный случай ассоциации).
Цель характеристики состоит в описании или уточнении некоторой другой сущности предметной области.
Ассоциативная сущность (ассоциация) – это связь вида «многие-ко-многим» между двумя или более сущностями или экземплярами сущности.
Это теория. Для наглядности покажу на примере торговой организации:
1.Составление таблиц.
Приведём состав таблиц БД и для каждого поля укажем размер поля и тип данных.
Таблица 1. Болезни.
Таблица 2 Больницы.
Таблица 3 Карта пациента
Таблица 4 Карта стационарного лечения.
Таблица 5 Лабораторные исследования.
Таблица 6 Сведения о врачах.
Таблица 7 Сведения о кабинетах.
Таблица 8 Сведения о корпусах.
Таблица 9 Сведения о лабораториях.
Таблица 10 Сведения о пациенте.
Таблица 11 Сведения о сотрудниках.
Таблица 12 Сведения об отделениях
2.Нормализация.
Нормализация — процесс уменьшения избыточности информации в таблицах реляционной БД и, как следствие, построения оптимальной структуры таблиц и связей.
Можно выделить 4 основных правила, которыми следует руководствоваться при проектировании и последующей нормализации таблиц базы данных:
- Каждое поле любой таблицы должно быть уникальным.
- Каждая таблица должна иметь уникальный первичный ключ, который может состоять из одного или нескольких полей таблицы.
- Для каждого значения первичного ключа должно быть одно и только одно значение любого из столбцов данных, и это значение должно относиться к объекту таблицы.
- Должна иметься возможность изменять значения любого поля (не входящего в первичный ключ), и это не должно повлечь за собой изменение другого поля.
Созданная таблица удовлетворяет вышеизложенным требованиям:
1 НФ (Нормальная Форма):
Название таблицы |
Ключевое поле |
Болезни Больницы Карта пациента Карта стационарного лечения Лабораторные исследования Сведения о врачах Сведения о кабинетах Сведения о корпусах Сведения о лабораториях Сведения о пациенте Сведения о сотрудниках Сведения об отделениях |
Код болезни Код больницы Код карты Код карты стационарного лечения Код лабораторного исследования Код врача Код кабинета Код корпуса Код лаборатории Код карты Код сотрудника Код отделения |
2 НФ:
выполняются ограничения 1НФ, и каждый не ключевой атрибут функционально полно зависит от составного первичного ключа.
3 НФ:
все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
Таким образом, база данных удовлетворяет всем требованиям нормализации таблиц и Третья нормальная форма – окончательный результат нормализации Базы данных.
Отношения – это правила, поддерживаемые на уровне механизма реализации СУБД. Различают три типа отношений:
- Отношение «один-к-одному»: для каждой строки в одной таблице существует не более одной строки связанной таблицы.
- Отношение «один-ко-многим»: одна таблица не содержит вообще или имеет набор связанных «дочерних» записей из другой таблицы.
— Отношение «многие-ко-многим»: для каждой строки первой таблицы может существовать набор строк в другой таблице и наоборот. Такая связь организуется, как правило, при помощи третьей, связующей таблицы, содержащей значения первичных ключей обеих таблиц в качестве внешних ключей.
При разработке БД необходимо принимать во внимание правила обеспечения целостности данных (обеспечивает каскадное обновление
записей в связанных таблицах)
- Получить перечень и общее число врачей указанного профиля для конкретного медицинского учреждения либо всех медицинских учреждений города.