Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

База данных больница access пример

Пример базы данных «Поликлиника» (Access)

Структура базы данных

В примере выбрана очень простая структура базы данных:
— таблица врачей (Doctors);
— таблица клиентов (Patients);
— таблица посещений клиентами врачей (Visits).
Скачать пример базы данных «Поликлиника» (далее будут предлагаться примеры с изменениями, но для обучения работе с базой данных крайне полезно иметь исходную версию, не заграможденную объектами (таблицами, запросами. )).

Две первые таблицы — независимы друг от друга, заполняются предварительно или по мере необходимости. Также они служат источниками записей для таблицы посещений. ID третьей таблицы служит номером для талончика к врачу.

Объекты базы данных

Кроме перечисленных выше таблиц в базе есть две формы (главная и для заполнения двух таблиц — врачей и пациентов). Также в базе есть один отчет — талончики к врачу.

Работа с базой данных «Поликлиника»

Прежде чем вы сможете выписать конкретному пациенту талончик к конкретному врачу (таблица Visits), необходимо наличие этих пациента и врача в таблицах Patients и Doctors соответственно. В главной форме включена таблица, куда заносятся данные о визите пациента к врачу, но она не обновляется автоматически. Чтобы увидеть вновь «занесенных» врача или пациента в выпадающих списках необходимо закрыть и снова открыть главную форму. На самом деле не обязательно заносить данные в главной форме. После того, как базе данных были указаны связи между таблицами при создании записи «врач» или записи «пациент» мы имеем возможность создать «визит» в той же самой таблице (обратите внимание на появляющийся слева после создания записи «врач» или «пациент» крестик, кликнув по которому, вы увидите подтаблицу визитов к врачу; номер талончика (visitID) будет создаваться автоматически и он будет уникальным). Чтобы это происходило «само собой», мы объединили таблицы, точнее установили связи между полями таблицы. Access позволяет связывать между собой таблицы легко и непринужденно.

Связи таблиц в базе данных

А именно: поле visitDoctor выбирает запись из таблицы Doctors, а поле visitPatient — из таблицы Patients. Чтобы связать таблицы, необходимо найти значок на панели, обозначающий связи таблиц (обведено красным) или кликнуть правой мышкой на любом свободном месте окна базы данных и выбрать «Связи» («Relationships»).

Вот как это выглядит:

Для тренировки вы можете удалить и создать связь. Для этого кликните правой мышкой на линии обозначающей связь таблиц, выберите «Удалить» («Delete») (сами таблицы или формы, отчеты в которых используется одна из таблиц должны быть закрыты). Теперь создадим связь: нажимаем курсором на ключевом поле patientID таблицы Patients (если вы связь удалили с этой таблицей), не отпуская мышки тянем ее к полю visitPatient таблицы Visits, когда курсор изменится, отпускаем и работаем с появившимся диалоговым окном Access(ставим галочку, как на рисунке):

Подсчет стоимости предоставленных услуг в базе данных «Поликлиника»

Первое решение, которое приходит в голову — добавить в таблицу врачей поле, в котором каждому врачу сопоставить стоимость его услуг. Но если хоть немного подумать, то будет понятно, что стоимость может меняться со временем, а нам желательно сохранять цены за разные периоды, хотя бы для статистики. Значит, необходимо создать новую таблицу в нашей базе данных. Структура таблицы VisitCosts. Кроме ключевого поля visitCostID нам как минимум понадобятся следующие поля:
— visitCostDoctorID — «внешний ключ» (врачи)
— visitCostFrom — дата, с которой стоимость приема действительна
— visitCostTill — дата, до которой стоимость приема действительна
— visitCostValue — стоимость приема в выбранный период.

Теперь создадим форму для работы с этой таблицей (frmMoney, в эту форму мы будем собирать и другую финансовую информацию, касающуюся поликлиники) (мы можем, конечно, и напрямую заполнять эту таблицу, но удобнее с ней работать как с подчиненной).

База данных Access Поликлиника

Вариант №8 – БД «Поликлиника».

Постановка задачи. Создать базу данных «Поликлиника» содержащую информацию о визитах к докторам.
1) База данных должна содержать следующую информацию:

• Таблицу «Доктора», содержащую следующую информацию о врачах: ФИО доктора, Специальность, Кабинет.
• Таблицу «Поликлиника», содержащую следующую информацию о поликлиниках: Номер поликлиники, Адрес поликлиники, Телефон поликлиники.
• Таблицу «Пациенты», содержащую следующую информацию о пациентах: ФИО пациента, Дата рождения, Контактный телефон.
•Таблицу «Визиты», содержащую следующую информацию о визитах пациентов к врачам: Дата визита, Время визита, Комментарий к визиту.

2) Определить первичные и вторичные (внешние) ключи (если необходимо добавьте поля). Ввод в поля с небольшим набором возможных значений организовывать с помощью полей подстановки, а также предусмотреть маску ввода, где это возможно.
3) Установить связь между таблицами, предусмотрев обеспечение целостности данных, каскадное обновление связанных полей и каскадное удаление связанных записей.
4) Ввести не менее 4 записей в таблицы без внешнего ключа и не менее 10 записей в таблицы, содержащие поле внешнего ключа.
5) Создать следующие запросы, задав для них смысловые имена:

• Запрос на выборку, для отображения информации о пациентах, посетивших окулиста. На экран вывести следующие поля: ФИО доктора, ФИО пациента, Дата визита, Время визита, Комментарий к визиту.
• Запрос на групповые операции, для отображения общего количества посетителей каждого врача. На экран вывести следующие поля: ФИО доктора, Специальность, Общее количество посетителей.
• Параметрический запрос для отображения количества посетителей, посетивших определенную поликлинику, заданную параметром.
• Перекрестный запрос, отображающий информацию о количестве посещений докторов в каждую дату.
• Запрос на создание таблицы, для создания таблицы «Пациенты1»,
содержащей информацию о пациентах, посетивших окулиста или терапевта. Таблица должна содержать следующие поля: ФИО пациента, Дата визита, Время визита, ФИО доктора, Специальность.
• Запрос на добавление в таблицу «Пациенты1» информации о пациентах, посетивших эндокринолога.

6) Создать следующие формы, задав для них смысловые имена:

• Подчиненную форму, отображающую данные из таблиц «Визиты» и «Доктора». В созданную форму добавить кнопки для перехода между записями.

7) Создать отчет, отображающий следующую информацию: Дата визита, Время визита, ФИО доктора, Специальность, ФИО пациента. В нижний колонтитул добавить свою фамилию, номер группы и дату создания базы данных.
8) Создать макросы (шесть макросов) для открытия таблиц базы данных. Задать смысловые имена макросам.
9) Создать форму «Пользовательский интерфейс» в режиме конструктора, позволяющий работать с созданной базой данных. На форме отобразить информацию о названии базы данных и об авторе. Поместить на форме командные кнопки, задав для них смысловые имена, позволяющие открывать таблицы, запросы, формы и отчеты. Оформите запрос с помощью элементов рисования панели элементов.
10) Создать макрос для автоматического открытия формы «Пользовательский интерфейс».

Читать еще:  Database systems ms access

Таблица «Пациенты» — База данных Access Поликлиника

Перекрестный запрос — База данных Access Поликлиника

Форма «Пациенты» — База данных Access Поликлиника

Отчет — База данных Access Поликлиника

Пользовательский интерфейс — База данных Access Поликлиника

Готовая база данных Access Поликлиника доступна для скачивания по ссылке ниже.

Создание базы данных в MS Access 2007: пошаговая инструкция

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word.

Подобные хранилища используются для разработки информационных сайтов, интернет-магазинов и бухгалтерских дополнений. Основными средствами, реализующими данный подход, являются MS SQL и MySQL.

Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.

Описание MS Access

Microsoft Access 2007 – это система управления базами данных (СУБД), реализующая полноценный графический интерфейс пользователя, принцип создания сущностей и связей между ними, а также структурный язык запросов SQL. Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных. Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.

Но прежде чем показывать пошагово создание БД, нужно ознакомиться с базовыми понятиями из теории баз данных.

Определения основных понятий

Без базовых знаний об элементах управления и объектах, использующихся при создании и конфигурации БД, нельзя успешно понять принцип и особенности настройки предметной области. Поэтому сейчас я постараюсь простым языком объяснить суть всех важных элементов. Итак, начнем:

  1. Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
  2. Сущность – отдельная таблица базы данных.
  3. Атрибут – заголовок отдельного столбца в таблице.
  4. Кортеж – это строка, принимающая значение всех атрибутов.
  5. Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
  6. Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
  7. SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.

Теперь, когда в общих чертах есть представление о том, с чем мы будем работать, можно приступить к созданию БД.

Создание БД

Для наглядности всей теории создадим тренировочную базу данных «Студенты-Экзамены», которая будет содержать 2 таблицы: «Студенты» и «Экзамены». Главным ключом будет поле «Номер зачетки», т.к. данный параметр является уникальным для каждого студента. Остальные поля предназначены для более полной информации об учащихся.

Итак, выполните следующее:

  1. Запустите MS Access 2007.
  2. Нажмите на кнопку «Новая база данных».
  3. В появившемся окне введите название БД и выберите «Создать».

Все, теперь осталось только создать, заполнить и связать таблицы. Переходите к следующему пункту.

Создание и заполнение таблиц

После успешного создания БД на экране появится пустая таблица. Для формирования ее структуры и заполнения выполните следующее:

  1. Нажмите ПКМ по вкладке «Таблица1» и выберите «Конструктор».
  2. Теперь начинайте заполнять названия полей и соответствующий им тип данных, который будет использоваться.

Создание и редактирование схем данных

Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».

Для выполнения запросов нужно связать наши таблицы. Иными словами, это некая зависимость, которая реализуется с помощью ключевых полей. Для этого нужно:

  1. Перейти во вкладку «Работа с базами данных».
  2. Нажать на кнопку «Схема данных».
  3. Если схема не была создана автоматически, нужно нажать ПКМ на пустой области и выбрать «Добавить таблицы».
  4. Выберите каждую из сущностей, поочередно нажимая кнопку «Добавить».
  5. Нажмите кнопку «ОК».

Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:

  1. Перетащите общее поле из одной таблицы в другую.
  2. В появившемся окне выберите необходимы параметры и нажмите «ОК».
  3. Теперь в окне должны отобразиться миниатюры двух таблиц со связью (один к одному).

Выполнение запросов

Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.

Именно в этой ситуации к нам на помощь приходят SQL запросы, которые помогают изъять лишь необходимую информацию.

Виды запросов

SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete — «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.

На выборку

В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL.
  4. В текстовое поле введите команду: SELECT * FROM Студенты WHERE Адрес = «Харьков»; где «SELECT *» означает, что выбираются все студенты, «FROM Студенты» — из какой таблицы, «WHERE Адрес = «Харьков»» — условие, которое обязательно должно выполняться.
  5. Нажмите кнопку «Выполнить».
  6. На выходе мы получаем результирующую таблицу.

А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:

SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;

а результирующая таблица примет следующий вид:

На создание сущности

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

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:

CREATE TABLE Преподаватели
(КодПреподавателя INT PRIMARY KEY,
Фамилия CHAR(20),
Имя CHAR (15),
Отчество CHAR (15),
Пол CHAR (1),
Дата_рождения DATE,
Основной_предмет CHAR (200));

где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» — типы данных для соответствующих значений.

  1. Кликните по кнопке «Выполнить».
  2. Откройте созданную таблицу.
На добавление, удаление, редактирование

Здесь все гораздо проще. Снова перейдите в поле для создания запроса и введите следующие команды:

  • для заполнения кортежа:
    INSERT INTO Преподаватели
    VALUES (1, ‘Иванова’, ‘Иванна’, ‘Ивановна’, ‘Ж’, ’05-06-1981′, ‘География’);
  • для редактирования записи:
    UPDATE Преподаватели SET Имя = ‘Анна’;
  • для удаления:
    DELETE * FROM Преподаватели WHERE Имя=’Анна’;.

Создание формы

При огромном количестве полей в таблице заполнять базу данных становится сложно. Можно случайно пропустить значение, ввести неверное или другого типа. В данной ситуации на помощь приходят формы, с помощью которых можно быстро заполнять сущности, а вероятность допустить ошибку минимизируется. Для этого потребуются следующие действия:

  1. Откройте интересующую таблицу.
  2. Перейдите во вкладку «Создание».
  3. Нажмите на необходимый формат формы из блока «Формы».

Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.

Формирование отчета

Отчет – это специальная функция MS Access, позволяющая оформить и подготовить для печати данные из базы данных. В основном это используется для создания товарных накладных, бухгалтерских отчетов и прочей офисной документации.

Если вы никогда не сталкивались с подобной функцией, рекомендуется воспользоваться встроенным «Мастером отчетов». Для этого сделайте следующее:

  1. Перейдите во вкладку «Создание».
  2. Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».
  3. Выберите интересующую таблицу и поля, нужные для печати.
  4. Добавьте необходимый уровень группировки.
  5. Выберите тип сортировки каждого из полей.
  6. Настройте вид макета для отчета.
  7. Выберите подходящий стиль оформления.

Если отображение вас не устраивает, его можно немного подкорректировать. Для этого:

  1. Нажмите ПКМ на вкладке отчета и выберите «Конструктор».
  2. Вручную расширьте интересующие столбцы.
  3. Сохраните изменения.

Вывод

Итак, с уверенностью можно заявить, что создание базы данных в MS Access 2007 мы разобрали полностью. Теперь вам известны все основные функции СУБД: от создания и заполнения таблиц до написания запросов на выборку и создания отчетов. Этих знаний хватит для выполнения несложных лабораторных работ в рамках университетской программы или использования в небольших личных проектах.

Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.

Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!

Курсовая работа: Проектирование базы данных «Больница»

Министерство образования и науки Республики Казахстан

Карагандинский Государственный Технический Университет

к курсовой работе

«Проектирование баз данных»

«Проектирование базы данных «Больница»

1. Постановка задачи

2. Обоснование выбора СУБД и программного обеспечения

3. Структура базы данных

3.1 Концептуальная модель данных

3.2 Логическая модель данных

4. Нормализация отношений

6. Интерфейс системы для работы с базой данных

6.1 Главное окно программы

6.2 Разработка меню

Список использованной литературы

Любая организация нуждается в своевременном доступе к информации. Ценность информации в современном мире очень высока. Роль распорядителей информации в современном мире чаще всего выполняют базы данных. Базы данных обеспечивают надежное хранение информации, структурированном виде и своевременный доступ к ней. Практически любая современная организация нуждается в базе данных, удовлетворяющей те или иные потребности по хранению, управлению и администрированию данных.

Целью выполнения курсового проекта является приобретение студентами практических навыков проектирования баз данных и разработки программного обеспечения по управлению базами данных с использованием СУБД. В ходе выполнения данного курсового проекта необходимо разработать информационную базу данных для больницы, которая поможет любому пользователю легко найти нужную информацию о любом сотруднике или пациенте.

Больница – это такая организация, которая работает с очень большим объемом информации, как о сотрудниках, так и о пациентах. Врачам всегда следить за данными о своих пациентах, о курсе лечения больных. А руководству и бухгалтерии необходимо быть в курсе событий о своих сотрудниках. Для этого нужна общая база данных, включающая всю необходимую информацию. Программа является очень актуальной на сегодняшний день, она автоматизирует работу с базой данных и предоставляет пользователю (оператору) понятный и дружественный интерфейс.

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

В задачи курсового проекта входят:

1. Разработка структуры баз данных.

2. Работа с несколькими таблицами и установление взаимосвязей между таблицами.

3. Разработка системы меню.

4. Разработка и формирование отчетов.

5. Использование расширенных средств СУБД ввода и вывода данных.

6. Организация справочной системы.

1. Постановка задачи

Необходимо спроектировать базу данных для больницы, в которой должны быть учтены все требования заказчика.

Требования были следующими:

1. База данных должна отражать всю информацию о больнице, в частности о сотрудниках и о пациентах;

2. В базе данных должна быть справочная информация для врачей о диагнозах и способах их лечения; о процедурах, которые имеются в больнице и их оплате; о лекарствах, имеющих место в медицине.

3. Должна быть возможность вносить изменения в данные и пополнения новыми данными.

4. В программе должна присутствовать функции поиска, выполнения определенных запросов, печати отчетов.

5. Программа должна иметь справочное руководство по использованию базы данных.

2. Обоснование выбора СУБД и программного обеспечения

В качестве средства проектирования базы данных, была выбрана СУБД MS SQL Server 2000.

В отличие от всех остальных наиболее известных СУБД, MSSQLServer имеет ряд преимуществ. Главным из них является то, что он обеспечивает создание информационных систем с архитектурой «клиент-сервер», в которой он играет роль сервера баз данных. Одним из важных свойств MicrosoftSQLServer является возможность управления целостностью данных.

Также можно сказать, что он удовлетворяет требованиям, предъявляемым к системам распределенной обработки информации. Эта СУБД поддерживает: тиражирование данных, параллельную обработку, создание и обработку больших баз данных на недорогих аппаратных платформах, отличается простотой управления и использования.

Средством, связывающим клиента с сервером, является язык SQL (Structured Query Language) – язык структурированных запросов. В данном курсовом проекте были использованы основные операторы этого языка, в частности для создания запросов. Этот язык является очень распространенным на данный момент и имеет ряд особенностей.

• создавать базы данных и таблицы с полным описанием их структуры;

• выполнять основные операции манипулирования данными, такие как

вставка, модификация и удаление данных из таблиц;

• выполнять простые и сложные запросы.

Этот язык был выбран, так как он доступен для изучения, синтаксис команд понятен и прост.

В качестве среды разработки самой программы для работы с базой данных была выбрана среда программирования BorlandDelphi 7, использующая язык программирования ObjectPasсal.

Основные причины выбора языка ObjectPascal:

– Главной из причин является возможность работы с базами данными;

– Легкость в организации доступа к базе данных;

– Возможность редактирования таблиц, вставки и удаления записей;

– Возможность создания достаточно понятного и дружественного интерфейса для пользователя.

– Простота языка позволяет быстро его освоить и создавать сложные программы;

Также, на выбор ObjectPascal в качестве базового программного обеспечения, повлияли такие обстоятельства как, достаточное количество необходимой литературы по программированию в этой среде, распространенность этой среды и имеющийся достаточный опыт работы в ней.

3. Структура базы данных

3.1 Концептуальная модель

Основным объектом в рассматриваемой модели является больница. У больницы есть свои характеристики: заведующий больницей, адрес, название. Она представлена в виде составляющих ее отделений, которые тоже имеют ряд характеристик: заведующий отделением, название отделение, старшая медсестра.

В каждом отделении имеются сотрудники и пациенты, которые имеют свои личные данные.

Концептуальная модель базы данных представлена на рисунке 3.1.

Рисунок 3.1 – Концептуальная модель базы данных

3.2 Логическая модель базы данных

Логическая модель представлена на рисунке 3.2.

Рисунок 3.2 – Логическая модель базы данных

В базе данных имеется 9 таблиц. Первая самая главная таблица «Отделения», которая является главной для таблиц «Персонал», «Пациенты» и «Диагнозы», с которыми она связана по полю «Код отделения» и имеет место связь «1-ко многим». В свою очередь таблица «Персонал» является главной для таблицы «Процедуры», которая связана по полю «Код медсестры», связь также «1-ко многим».

Две таблицы «Диагноз-Лекарства» и «Диагноз-Процедуры» имеют составные ключи и связаны с двумя таблицами, по коду диагноза с таблицей «Диагнозы» и по коду лекарства и процедуры с таблицами «Лекарства» и «Процедуры» соответственно. Получилась связь «многие – ко многим». Такая связь нужна, для того чтобы можно было для одного диагноза выбрать много процедур и лекарств. Соответственно, для процедур и лекарств могут соответствовать много диагнозов.

4. Нормализация отношений

Нормализация – это процесс проектирования базы данных с целью исключения аномалий модификаций, избыточности данных и приведения отношений к нормальным формам.

Аномалии модификации – последствия, которые могут возникнуть вследствие изменения отношения (таблицы).

Аномалии устраняются путем разбиения отношения на 2 и более новых отношений. Аномалии делятся на 2 основных вида: аномалия удаления, аномалия вставки.

Можно сказать, что в данном курсовом проекте все таблицы находятся в 1НФ, так как все они удовлетворяют требованиям, необходимым для того, чтобы таблица считалась отношением. Главным образом, это требование атомарности.

Отношение находится во 2НФ, если оно находится в 1НФ и все неключевые атрибуты в отношении зависят только от всего ключа в целом.

Принадлежность к 2НФ всех таблиц, кроме двух таблиц («Диагноз-Процедуры», «Диагноз-Лекарства»), можно определить по наличию 1 первичного простого ключа, состоящего из одного атрибута. А эти две таблицы состоят только из двух ключевых атрибутов, т.е. первичный ключ является составным. Таким образом, в этих таблицах нет неключевых атрибутов, независящих от всего ключа в целом.

Отношение находится в 3НФ, если отношение находится во 2НФ и не имеет транзитивных зависимостей.

В данном курсовом проекте все таблицы находятся в 3НФ. Хотя в начале курсового проекта предполагалось, что таблица «Персонал» будет включать в себя атрибуты «Должность» и «Оклад», что говорило бы о наличие транзитивной зависимости. В результате нормализации таблица «Персонал» была разбита на два отношения «Персонал» и «Должности», которые теперь находятся в 3НФ.

Отношение находится в НФБК, если оно находится в 3НФ и каждый детерминант является ключом-кандидатом.

Можно сказать, что во всех таблицах данной базы данных, кроме первичных ключей ключей-кандидатов не наблюдается, поэтому нельзя сказать, что они находятся в НФБК.

В 4НФ таблицы не могут находиться, так как они не находятся в НФБК.

Таким образом, все отношения находятся в 3НФ.

В данном курсовом проекте были выполнены следующие запросы:

1. Вывести список сотрудников по определенной должности.

SELECT Personal. Fio as ‘ФИО’, Otdeleniya. Nazvanie_otdel as ‘Названиеотделения’

FROM Otdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal.kod_otdel

WHERE Personal. Doljnost like «Должность»

order by Otdeleniya. Nazvanie_otdel

2. Вывести список сотрудников по должности, учитывая отделение.

SELECT Personal. Fio as ‘ФИО’, Otdeleniya. Nazvanie_otdel as ‘Названиеотделения’

FROM Otdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal.kod_otdel

WHERE Otdeleniya. Nazvanie_otdel = «Отделение’ AND Personal. Doljnostlike‘Должность’

3. Вывести список сотрудников, оклад которых превышает n-й суммы

SELECT Personal. Fio as ‘ФИО’, Personal. Doljnost as ‘Должность’, Personal. Oklad as ‘Оклад’

where Personal. Oklad> (Сумма)

4. Вывести общий список сотрудников.

SELECT Personal. Fio as ‘ФИО’, Personal.doljnost as ‘Должность’, otdeleniya.nazvanie_otdel as ‘Название отделения’

FROM Otdeleniya INNER JOIN Personal ON Otdeleniya. Kod_otdel = Personal. Kod_otdel

group by otdeleniya.nazvanie_otdel, Personal. Fio, Personal.doljnost

order by Personal. Fio

1. Вывести список пациентов по определенному диагнозу.

SELECT Pacienty. Fio as «Ф.И.О.», Otdeleniya. Nazvanie_otdel as «Название отделения», Diagnozy. Nazvanie_diagnoza as «Названиедиагноза»

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel

WHERE Diagnozy. Nazvanie_diagnoza like ‘%Диагноз% ‘

order by Pacienty. Fio

2. Вывести список пациентов по определенной дате поступления.

SELECT Pacienty. Fio as «Ф.И.О.», Pacienty. Data_postup as «Датапоступления», Otdeleniya. Nazvanie_otdel as «Названиеотделения», Diagnozy. Nazvanie_diagnoza as «Названиедиагноза»

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel WHERE Pacienty. Data_postup= ‘Датапоступления’ and Diagnozy. Nazvanie_diagnoza like ‘ % Диагноз % ‘

3. Вывести список пациентов по дате выписки.

SELECT Pacienty. Fio as «Ф.И.О.», Otdeleniya. Nazvanie_otdel as «Название отделения», Diagnozy. Nazvanie_diagnoza as «Названиедиагноза»

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel WHERE Pacienty. Data_vypiski=’Дата выписки’

4. Вывести список пациентов, поступавших за определенный период.

SELECT Pacienty. Fio as «Ф.И.О.», Pacienty. Data_postup «Датапост-я», Otdeleniya. Nazvanie_otdel as «Отделение», Diagnozy. Nazvanie_diagnoza as «Диагноз»

FROM Otdeleniya INNER JOIN (Diagnozy INNER JOIN Pacienty ON Diagnozy.kod_diagnoza = Pacienty. Kod_diagnoza) ON Otdeleniya. Kod_otdel = Pacienty.kod_otdel

WHERE ((Pacienty. Data_postup=’Датапоступления1′) or (Pacienty. Data_postup>’Датапоступления1′)) and

Ссылка на основную публикацию
Adblock
detector
Название: Проектирование базы данных «Больница»
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Добавлен 19:43:43 29 августа 2009 Похожие работы
Просмотров: 12912 Комментариев: 14 Оценило: 8 человек Средний балл: 4.4 Оценка: 4 Скачать