База даних автоматизованої системи дошкільного навчального закладу
Побудування інформаційної концептуальної моделі дошкільного навчального закладу. Визначення ідентифікуючого набора атрибутів інформаційної системи. Відомості про структуру програми, мова програмування. Код створення бази даних на мові Transact-SQL.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 27.03.2016 |
Размер файла | 433,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
from
(
select sotrudniki.idSotrudnika, MAX(medosmotr.dataMedosmotra) dataPoslednegoOsmotra
from
sotrudniki
join medosmotr on sotrudniki.idSotrudnika=medosmotr.idSotrudnika
group by sotrudniki.idSotrudnika
)as posledniyOsmotr
join sotrudniki on posledniyOsmotr.idSotrudnika=sotrudniki.idSotrudnika
join medosmotr on posledniyOsmotr.idSotrudnika=medosmotr.idSotrudnika and posledniyOsmotr.dataPoslednegoOsmotra=medosmotr.dataMedosmotra
join typOsmotra on medosmotr.idTypaOsmotra=typOsmotra.idTypaOsmotra
join zakluchenieOsmotra on medosmotr.idZaklucheniaOsmotra=zakluchenieOsmotra.idZaklucheniaOsmotra
where
dateadd (month, typOsmotra.period, medosmotr.dataMedosmotra)<GETDATE()
or zakluchenieOsmotra.idZaklucheniaOsmotra<>1-------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
go
--execute pr_5_1 1
if object_id ('pr_5_2') is not null
drop procedure pr_5_2
go
create proc pr_5_2
--@idZakl int
as
select sotrudniki.idSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.imyaSotrudnika,
medosmotr.dataMedosmotra, typOsmotra.nazvanieTypaOsmotra, zakluchenieOsmotra.zakluchenie, dateadd (month, typOsmotra.period, medosmotr.dataMedosmotra) as sleduyuchiyOsmotr
from
(
select sotrudniki.idSotrudnika, MAX(medosmotr.dataMedosmotra) dataPoslednegoOsmotra
from
sotrudniki
join medosmotr on sotrudniki.idSotrudnika=medosmotr.idSotrudnika
group by sotrudniki.idSotrudnika
)as posledniyOsmotr
join sotrudniki on posledniyOsmotr.idSotrudnika=sotrudniki.idSotrudnika
join medosmotr on posledniyOsmotr.idSotrudnika=medosmotr.idSotrudnika and posledniyOsmotr.dataPoslednegoOsmotra=medosmotr.dataMedosmotra
join typOsmotra on medosmotr.idTypaOsmotra=typOsmotra.idTypaOsmotra
join zakluchenieOsmotra on medosmotr.idZaklucheniaOsmotra=zakluchenieOsmotra.idZaklucheniaOsmotra
go
--execute pr_5_1 1
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--6.Медична картка вказанної дитини з для прегляду біометричних даних через певні проміжки часу;
if object_id ('pr_6_1') is not null
drop procedure pr_6_1
go
create proc pr_6_1
@idRebenka int
as
select medkartochka.idMedkartohki, medkartochka.dataMedkartochki, medkartochka.idGruppaZdorovya, medkartochka.rost, medkartochka.ves, sotrudniki.idSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.imyaSotrudnika
from
deti
left join medkartochka on deti.idRebenka=medkartochka.idRebenka
left join sotrudniki on medkartochka.idSotrudnika=sotrudniki.idSotrudnika
where deti.idRebenka=@idRebenka
go
--execute pr_6_1 5
--------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------
--7.Відомості про щеплення, які були зроблені певній дитині;
if object_id ('pr_7_1') is not null
drop procedure pr_7_1
go
create proc pr_7_1
@idRebenka int
as
select deti.idRebenka, deti.familyaRebenka, deti.imyaRebenka, deti.dataRogdenya, ISNULL(privivki.nazvaniePrivivki, '-') nazvaniePrivivki, ISNULL(convert(varchar(max),privivki.vozrastDlyaPrivivki),'-') vozrastDlyaPrivivki,
ISNULL (convert (varchar(max), zhurnalPrivivki.dataPrivivki), '-') dataPrivivki,
(case when zhurnalPrivivki.sdelanaPrivivka=1 THEN 'да' ELSE case when zhurnalPrivivki.sdelanaPrivivka IS NULL THEN '-' ELSE 'нет' END END) sdelanaPrivivka, ISNULL (prichinaNePrivivki.prichina, '-') prichina
from
deti
left join zhurnalPrivivki on deti.idRebenka=zhurnalPrivivki.idRebenka
left join privivki on zhurnalPrivivki.idPrivivki=privivki.idPrivivki
left join prichinaNePrivivki on zhurnalPrivivki.idPrichinaNePrivivki=prichinaNePrivivki.idPrichinaNePrivivki
where deti.idRebenka=@idRebenka
go
--execute pr_7_1 5
--execute pr_7_1 6
--execute pr_7_1 1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
--8.Списки та загальні кількість дітей, яким мають бути зробленні щеплення у найближчий час;
if object_id ('pr_8_1') is not null
drop procedure pr_8_1
go
create proc pr_8_1
as
select detiVozrast.*, privivki.*, ISNULL(prichinaNePrivivki.prichina, '-') kommentar
from detiVozrast
join privivki on detiVozrast.vozrast>=privivki.vozrastDlyaPrivivki
left join zhurnalPrivivki on detiVozrast.idRebenka=zhurnalPrivivki.idRebenka and privivki.idPrivivki=zhurnalPrivivki.idPrivivki
left join prichinaNePrivivki on zhurnalPrivivki.idPrichinaNePrivivki=prichinaNePrivivki.idPrichinaNePrivivki
where
(zhurnalPrivivki.sdelanaPrivivka=0 OR zhurnalPrivivki.sdelanaPrivivka IS NULL)
order by detiVozrast.idRebenka
go
--exec pr_8_1
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- 9.Список та загальна кількість дітей, яким не були зробленні вчасно щеплення (з вказанням причини).
if object_id ('pr_9_1') is not null
drop procedure pr_9_1
go
create proc pr_9_1
as
select deti.idRebenka, deti.familyaRebenka, deti.imyaRebenka, deti.dataRogdenya, ISNULL(privivki.nazvaniePrivivki, '-') nazvaniePrivivki, ISNULL(convert(varchar(max),privivki.vozrastDlyaPrivivki),'-'),
ISNULL (convert (varchar(max), zhurnalPrivivki.dataPrivivki), '-') dataPrivivki,
(case when zhurnalPrivivki.sdelanaPrivivka=1 THEN 'да' ELSE case when zhurnalPrivivki.sdelanaPrivivka IS NULL THEN '-' ELSE 'нет' END END) sdelanaPrivivka, ISNULL (prichinaNePrivivki.prichina, '-') prichina
from
deti
left join zhurnalPrivivki on deti.idRebenka=zhurnalPrivivki.idRebenka
left join privivki on zhurnalPrivivki.idPrivivki=privivki.idPrivivki
left join prichinaNePrivivki on zhurnalPrivivki.idPrichinaNePrivivki=prichinaNePrivivki.idPrichinaNePrivivki
where zhurnalPrivivki.sdelanaPrivivka=0
go
--exec pr_9_1
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
--10.Повний переляк занять, які відвідувала вказана дитина в певний проміжок часу
if object_id ('pr_10_1') is not null
drop procedure pr_10_1
go
create proc pr_10_1
@idRebenka int
@beginData date,
@endData date
as
select*
from
zurnalZanyatia
join deti on zurnalZanyatia.idRebenka=deti.idRebenka
join zanyatie on zurnalZanyatia.idZanyatie=zanyatie.idZanyatie
join nazvanieZanyatia on zanyatie.idNazvanieZanyatia=nazvanieZanyatia.idNazvanieZanyatia
@beginData date,
@endData date
as
select * from
zanyatie
join zanyatieGruppa on zanyatie.idZanyatie=zanyatieGruppa.idZanyatie
join gruppa on zanyatieGruppa.idGruppy=gruppa.idGruppy
join rebenokGruppa on gruppa.idGruppy=rebenokGruppa.idGruppy
join deti on rebenokGruppa.idRebenka=deti.idRebenka
join zanyatieSotrudnik on zanyatieSotrudnik.idZanyatie=zanyatie.idZanyatie
join sotrudniki on zanyatieSotrudnik.idSotrudnika=sotrudniki.idSotrudnika
where deti.idRebenka=@idRebenka
and
zanyatie.dataZanyatia between @beginData and @endData
use master
use kinderGart
go
if object_id ('detiVozrast') is not null
drop view detiVozrast
go
create view detiVozrast
as
select deti.*, DATEDIFF (year, deti.dataRogdenya, GETDATE()) vozrast
from deti
go
-------------------------------------------------------------------------------------------------------------------------------------------------------------
if object_id ('actualPost') is not null
drop view actualPost
go
create view actualPost as
select actualAssign.idSotrudnika, sotrudniki.imyaSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.userName, dolgnosti.idDolgnosti, nazvanieDolgnosty
from
(select idSotrudnika, MAX(dataNaznachenia) assignDate from naznachenieNaDolgnost
where dataUvolnenia is null
group by naznachenieNaDolgnost.idSotrudnika) as actualAssign
join naznachenieNaDolgnost on naznachenieNaDolgnost.idSotrudnika=actualAssign.idSotrudnika and naznachenieNaDolgnost.dataNaznachenia=actualAssign.assignDate
join sotrudniki on actualAssign.idSotrudnika=sotrudniki.idSotrudnika
join dolgnosti on naznachenieNaDolgnost.idDolgnosti=dolgnosti.idDolgnosti
go
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
if object_id ('userRole') is not null
drop proc userRole
go
create proc userRole
as
declare @curUser nvarchar(30)
declare @t table(UserName varchar(25), RoleName nvarchar(50), LoginName nvarchar(50), DefDBName nvarchar(50), DefSchemaName nvarchar(50), UserID smallint, [SID] varbinary(100))
declare @RoleName nvarchar(50)
set @curUser = USER
insert into @t
exec sp_helpuser @curUser
select actualPost.idSotrudnika, actualPost.imyaSotrudnika, actualPost.familyaSotrudnika, actualPost.nazvanieDolgnosty,
t.UserName, t.RoleName
from @t t
left join actualPost on t.UserName=actualPost.userName
go
-------------------------------------------------------------------------------------------------------------------------------------------------------------
if object_id ('actualGruppa') is not null
drop view actualGruppa
go
create view actualGruppa as
select rebenokGruppa.idZapisiRebenokGruppa, rebenokGruppa.idRebenka, rebenokGruppa.idGruppy, gruppa.nazvanieGruppy, obchiyTypGruppy.nazvanieTypaGruppy nazvanieObchTypaGruppy, typGruppy.nazvanieTypaGruppy, rebenokGruppa.dataPostuplenya, rebenokGruppa.dataUhoda
from
rebenokGruppa
join gruppa on rebenokGruppa.idGruppy=gruppa.idGruppy
join obchiyTypGruppy on gruppa.idObchiyTypGruppy=obchiyTypGruppy.idObchiyTypGruppy
join typGruppy on gruppa.idTypGruppy=typGruppy.idTypGruppy
where (rebenokGruppa.dataUhoda is null or rebenokGruppa.dataUhoda>GETDATE()) and rebenokGruppa.dataPostuplenya<=GETDATE();
go
2.4 Опис Windows інтерфейсу
Після запуску виконуваного файлу програма перевіряє налаштування, які зберігаються у файлі “tradeOrg.exe.Config”. Якщо клієнт не може з'єднатися з сервером, то буде виведено повідомлення користувачу про неможливість з'єднання.
Якщо користувач вирішить зробити нове з'єднання то буде виведено вікно для налаштування нового з'єднання (Рисунок 3). Це вікно дозволяє вибрати сервер, та аутентифікацію. Якщо з'єднання буде успішне, то нові налаштування будуть збережені у файлі “PhotoCenter.exe.Config” і при наступному запуску програми користувачу не потрібно буде вводити ці налаштування.
Головне вікно програми зображене на рисунку 4. При запуску клієнта чи зміні налаштувань визначається роль користувача. Наприклад на рисунку 4 зображено інтерфейс доступний адміністратору, а на рисунку 5 інтерфейс користувача, який зайшов під роллю відділу кадрів, і він не має тих можливостей, що має адміністратор.
Рисунок 3.
Інтерфейс програми розділено на 6 вкладок: (Рисунок 4) “Подключение”, ”Продажи” ”Склад”, “Кадри”, ”Платежи”, ”Справочники” , «Администрирование». На приклад, через вкладку “Продажи” відбувається робота з заказами, тобто додавання заказу, його редагування та видалення.
Рисунок 4.
Розглянемо на приклад додавання нової дитини. Це відбувається натисканням кнопки «Добавить ребенка», після чого виводиться вікно (Рисунок 9) в якому треба ввести дані дитини.
Рисунок 5.
Якщо потрібне буде зачислити дитину в групу потрібно натиснути кнопку «Зачислити», після чого з'явиться вікно (Рисунок 6), де потрібно групу.
Рисунок 6.
Література
1. Microsoft SQL Server 2005. Библия пользователя: Пер. с англ. - М.: ООО «И.Д.Вильямс»,2008.
2. Дж. Грофф, П. Вайнберг SQL: Полное руководство: Пер. с англ. - 2-е изд., перераб. И доп. - К.: Издательская группа BHV, 2001.
3. Б. Гамильтон ADO.NET Сборник рецептов. Для профессионалов. - СПб.: Питер, 2005.
4. Сеппа Д. Программирование на Microsoft ADO.NET 2.0 Мастер-класс. / Пер. с англ. - М.: Издательство «Русская редакция»,2005.
Размещено на Allbest.ru
Подобные документы
Виявлення основних сутностей предметної області. Побудова схеми реляційної бази даних. Вбудовані процедури і тригери. Опис архітектури програмної системи і концептуальної моделі бази даних, програмної реалізації та інтерфейсу користувача додатку.
курсовая работа [4,3 M], добавлен 05.12.2012Створення інформаційної системи для спортивного магазину харчування. Обґрунтування вибору мови програмування. Текстуальний опис алгоритму. Проектування бази даних. Комп'ютеризація торгівельних закладів, отримання необхідних даних в автоматичному режимі.
дипломная работа [1,3 M], добавлен 12.05.2015Оцінка необхідності створення на сучасному підприємстві автоматизованої інформаційної системи та її значення в процесі управління. Етапи розробки структури бази даних, зміст, призначення. Операційна інформація з обліку фінансово-розрахункових операцій.
контрольная работа [29,4 K], добавлен 06.10.2010Проектування бази даних предметної області "Магазин будівельних матеріалів". Аналіз сукупності вхідних і вихідних даних, шляхи удосконалення інформаційної системи обліку товару. Організація інформаційної бази, розробка логічної і фізичної моделі.
курсовая работа [559,2 K], добавлен 09.05.2016Створення гнучкої клієнт-серверної системи інформаційної підтримки підвищення кваліфікації персоналу ДП № 9 з застосуванням мови програмування PHP, системи керування базами даних MySQL. Розробка алгоритмів, програмна реалізація основних процедур системи.
дипломная работа [1,8 M], добавлен 26.10.2012Роль бази даних, призначеної для каталогізації рейсів, рухомого складу, персоналу та пасажирів, в полегшенні роботи залізничного вокзалу. Проектування структури даних. Розробка запитів для рішення задач, комплексної програми. Опис математичної моделі.
курсовая работа [4,8 M], добавлен 27.12.2013Побудова інформаційної системи "Магазин товарів для настільного тенісу" з автоматизації роботи магазину. Концептуальне моделювання бази даних. Обґрунтування вибору СУБД. Логічне проектування бази даних. Схема бази даних. Створення таблиць в конструкторі.
курсовая работа [8,8 M], добавлен 16.12.2015Проектування бази даних: визначення об’єктів, структура таблиць, побудова схеми даних, забезпечення цілісності даних, створення певних відношень між таблицями, створення запитів, побудова форм, оформлення об’єктів. Розробка інструкції користувача.
курсовая работа [1,9 M], добавлен 19.09.2014Розробка інформаційної системи, що містить дані про товари, їх поставку і доставку за допомогою моделі "Сутність-зв'язок". Вибір засобів її реалізації Структурна схема реляційної бази даних та таблиці БД. Інструкція для користувача програмним продуктом.
курсовая работа [2,4 M], добавлен 19.06.2013Аналіз відомих підходів до проектування баз даних. Моделі "сутність-зв'язок". Ієрархічна, мережева та реляційна моделі представлення даних. Організація обмежень посилальної цілісності. Нормалізація відносин. Властивості колонок таблиць фізичної моделі.
курсовая работа [417,6 K], добавлен 01.02.2013