База даних автоматизованої системи дошкільного навчального закладу

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    289,65 Кб
  • Опубликовано:
    2016-03-27
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

База даних автоматизованої системи дошкільного навчального закладу

Вступ

інформаційний програма база даних

База даних (скорочено - БД) - впорядкований набір логічне взаємопов'язаних даних, що використовуються спільно та призначені для задоволення інформаційних потреб користувачів. У технічному розумінні включно й система керування БД.

Microsoft SQL Server - комерційна система керування базами даних, що розповсюджуються корпорацією Microsoft. Мова, що використовується для запитів - Transact-SQL, створена спільно Microsoft та Sybase. Transact-SQL є реалізацією стандарту ANSI/ISO щодо структурованої мови запитів (SQL) із розширеннями. Використовується як для невеликих і середніх за розміром баз даних, так і для великих баз даних масштабу підприємства. Багато років вдало конкурує з іншими системами керування базами даних.

Transact-SQL (T-SQL) - процедурне розширення мови SQL, створене компанією Microsoft (для Microsoft SQL Server) і Sybase (для Sybase ASE). SQL був розширений такими додатковими можливостями як:

·        керуючі оператори

·        локальні і глобальні змінні,

·        різні додаткові функції для обробки рядків, дат, математики і т.п.,

·        підтримка аутентифікації Microsoft Windows

Мова Transact-SQL є ключем до використання MS SQL Server. Всі додатки, які взаємодіють з екземпляром MS SQL Server, незалежно від їх реалізації і користувальницького інтерфейсу, відправляють сервера інструкції Transact-SQL.

Збережена процедура - об'єкт бази даних, що представляє собою набір SQL-інструкцій, який компілюється один раз і зберігається на сервері. Збережені процедури дуже схожі на звичайні процедури мов високого рівня, у них можуть бути вхідні і вихідні параметри і локальні змінні, в них можуть вироблятися числові обчислення і операції над символьними даними, результати яких можуть присвоюватися змінним і параметрам. У збережених процедурах можуть виконуватися стандартні операції з базами даних (як DDL, так і DML). Крім того, в збережених процедурах можливі цикли і розгалуження, тобто в них можуть використовуватися інструкції управління процесом виконання.

1 Опис програми


1 Завдання

Для приведеної нижче задачі виповнюю наступний комплекс робіт:

. Побудувати інформаційну концептуальну модель (ER - модель), необхідно для того щоб :

Проаналізувати предметну область, при необхідності уточнити і удосконалити її, виявити необхідний набір сутностей

Визначити потрібний набір атрибутів для кожної сутності, виділивши ідентифікуючий набір атрибутів

Визначити зв’язки між об’єктами, формалізувати зв’язки між об’єктами ( множина и т.д.)

Описати одержану ER - модель на язику ER - діаграми

. Отримати реляційну схему із ER - моделі, для того щоб :

Побудувати набір необхідних відносин бази даних;

Виділити первісний і зовнішній ключі визначених відносин;

Привести отримані відносини до третьої нормальної форми;

Визначити обмеження цілісності для зовнішніх ключів відносин і для відносин взагалі;

Представити зв’язки між зовнішніми і первинними ключами;

. Використовуючи СУБД MS SQL Server 2000-2005 створити спроектовану базу даних на SQL .

. Виконати на SQL необхідні дії з додавання, модифікації і видалення даних в таблицях створеної бази даних;

. На мові SQL для вказаних у варіанті завдання запитів створити вистави(змінні і незмінні).

. Перевірити працездатність вистав в інтерактивному режимі.

. Призначені для користувача застосування

Створити Windows- інтерфейс користувача і Web- інтерфейс.

Створити систему безпеки.

Вивчити предметну область задану згідно варіанту. Продумати та спроектувати схему бази даних, яка має містити не менше 10 таблиць, та не менше 20 записів у кожній з них (за виключенням тих, які по змісту цього не потребують). Заповнити базу.

.1 Опис предметної області

 

Дитячий дошкільний навчальний заклад здійснює навчання дітей. Діти розподілені на групи за віком (ясельна група - діти віком від 2 до 3 років, молодша - до 4, середня - до 5, старша - до 6, підготовча - до 7). Навчання в цілому є безкоштовним, оплачується харчування дітей та окремі види занять.

Персонал дитячого дошкільного навчального закладу складається з кількох підрозділів: адміністрація (завідуючий); бухгалтерія, медичний кабінет, методичний кабінет, вихователів, нянечок і кухарів, а також можливі вузькі спеціалісти (логопед, психолог, викладач іноземної мови, хореограф). У кожної з категорій є характеристики, притаманні лише їй. Кожний працівник проходить обов’язкове медичне обстеження раз на рік, ця інформація фіксується у журналі.

Протягом навчання в закладі кожна дитина перебуває на медичному обліку в медсестри, яка слідкує за вчасним щепленням та робить відповідні записи у медичну картку дитини. До картки заносяться данні про зріст та вагу дітей кожні півроку. Також ведеться облік лікарняних та довідок.

Діти відвідують різні заняття, деякі є обов’язковими для всіх, деякі відвідуються за бажанням (додаткові заняття з образотворчого мистецтва, хореографії, іноземної мови) та є платними, інші рекомендовані для відвідування дітям за станом здоров’я (лікувальна фізкультура, логопед) та є безкоштовними. Розклад занять складається таким чином, щоб групові заняття займали першу половину дня, а індивідуальні - другу

Окрім цього, важлива роль у процесі навчання відіграє правильне та різноманітне харчування. Для цього ведеться облік продуктів харчування, порції розраховуються згідно затверджених норм для кожного віку.

 

.2 Види запитів в інформаційній системі

 

.        Персональні дані дітей вказаної групи;

.        Персональні та контактні дані батьків (родичів) вказаної групи, дитини;

.        Склади груп, загальні та для відвідування певних видів занять; кількість дітей в кожній групі.

.        Персональні та контактні дані співробітників дитячого закладу, що працювали з певною дитиною, групою за весь час навчання, за певний проміжок часу

.        Відомості про проходження співробітниками медичного огляду (перелік співробітників, що не пройшли огляд вчасно або результати огляду не дозволяють їм працювати у дитячому закладі)

.        Медична картка вказаної дитини з для перегляду біометричних даних через певні проміжки часу;

.        Відомості про щеплення, які були зроблені певній дитині;

.        Списки та загальні кількість дітей, яким мають бути зроблені щеплення у найближчий час;

.        Список та загальна кількість дітей, яким не були зроблені вчасно щеплення (з вказанням причини).

.        Повний переляк занять, які відвідувала вказана дитина в певний проміжок часу

.        Розклад занять групи, дитини, викладача

.        Журнал відвідування дітьми закладу; загальна кількість днів, які підлягають оплаті за кожен місяць для кожної дитини.

.        Суми оплат для вказаної дитини, групи, закладу в цілому за певний період

.        Суми оплат працівникам, які ведуть платні заняття, за кожен місяць

 

2. Опис логіки


2.1 Відомості про структуру програми


Програма складається з серверної частини, додатку для користувача, який працює у ОС Windows. Серверна частина - це Microsoft SQL Server 2014 з встановленою базою даних. Схема бази даних представлена на рисунку 1.

Рисунок 1. Схема бази даних

2.2 Відомості про мову програмування

клієнт написаний на мові С# у середовищі Microsoft Visual Studio 2010 з використанням ADO.NET. Код бази даних написаний за допомогою Microsoft SQL Server Management Studio на мові Transact-SQL.

2.3 Опис серверної частини


Нижче приведено код створення бази даних на мові Transact-SQL. Код складається с декількох частин, спочатку створюються необхідні таблиці та індекси, потім створюються необхідні представлення, функції та процедури. Для забезпечення цілісності базі даних створюються тригери, а для забезпечення безпеки створюються ролі та користувачі.

use masterdb_id ('kinderGart') is not nulldatabase kinderGartdatabase kinderGartkinderGart

/*-------------ДЕТИ И ГРУППЫ-----------------------*/object_id ('deti') is not nulltable detitable deti (idRebenka int identity primary key, familyaRebenka varchar(50), imyaRebenka varchar(50), otchestvoRebenka varchar(50), dataRogdenya date)object_id ('typGruppy') is not nulltable typGruppytable typGruppy (idTypGruppy int identity primary key, nazvanieTypaGruppy varchar(50), vozrastOt int, vozrastDo int)object_id ('obchiyTypGruppy') is not nulltable obchiyTypGruppytable obchiyTypGruppy (idObchiyTypGruppy int identity primary key, nazvanieTypaGruppy varchar(50))object_id ('gruppa') is not nulltable gruppatable gruppa (idGruppy int identity primary key, idTypGruppy int foreign key references typGruppy, nazvanieGruppy varchar(50), idObchiyTypGruppy int foreign key references obchiyTypGruppy)object_id ('rebenokGruppa') is not nulltable rebenokGruppatable rebenokGruppa (idZapisiRebenokGruppa int identity primary key, idGruppy int foreign key references gruppa, int foreign key references deti, dataPostuplenya date, dataUhoda date)

/*-------------РОДСТВЕННИКИ----------------------------------*/object_id ('rodstvenniki') is not nulltable rodstvennikitable rodstvenniki (idRodstvennika int identity primary key, familyaRodstvennika varchar(50), imyaRodstvennika varchar(50), otchestvoRodstvennika varchar(50),varchar(50), adres varchar(50))object_id ('typRodstva') is not nulltable typRodstvatable typRodstva (idTypRodstva int identity primary key, nazvanieRodstvennika varchar(50))object_id ('detiRodstvenniki') is not nulltable detiRodstvennikitable detiRodstvenniki (idDetiRodstvenniki int identity primary key, int foreign key references deti, idRodstvennika int foreign key references rodstvenniki,int foreign key references typRodstva)

/*-------------СОТРУДНИКИ---------------------------------*/object_id ('sotrudniki') is not nulltable sotrudnikitable sotrudniki (idSotrudnika int identity primary key, familyaSotrudnika varchar(50), imyaSotrudnika varchar(50), otchestvoSotrudnika varchar(50),varchar(50), adres varchar(100), userName varchar(max))

/*if object_id ('podrazdelenie') is not nulltable podrazdelenietable podrazdelenie (idPodrazdelenia int identity primary key, nazvaniePodrazdelenia varchar(50))*/object_id ('dolgnosti') is not nulltable dolgnostitable dolgnosti (idDolgnosti int identity primary key, nazvanieDolgnosty varchar (50), /*idPodrazdelenia int foreign key references podrazdelenie(idPodrazdelenia)*/)object_id ('typNaznachenia') is not nulltable typNaznacheniatable typNaznachenia (idTypNaznachenia int identity primary key, nazvanieNaznachenia varchar(50))object_id ('naznachenieNaDolgnost') is not nulltable naznachenieNaDolgnosttable naznachenieNaDolgnost (idZapisiNaznachenia int identity primary key, idSotrudnika int foreign key references sotrudniki, int foreign key references dolgnosti, dataNaznachenia date, dataUvolnenia date, idTypNaznachenia int foreign key references typNaznachenia)

/*-------------МЕДОСМОТР СОТРУДНИКОВ-----------------------------------*/object_id ('zakluchenieOsmotra') is not nulltable zakluchenieOsmotratable zakluchenieOsmotra (idZaklucheniaOsmotra int identity primary key, zakluchenie varchar(50))object_id ('typOsmotra') is not nulltable typOsmotratable typOsmotra (idTypaOsmotra int identity primary key, nazvanieTypaOsmotra varchar(80), period int /*?????? посмотреть, как задать период н.п. год, полгода*/)object_id ('medosmotr') is not nulltable medosmotrtable medosmotr (idMedosmotra int identity primary key, idSotrudnika int foreign key references sotrudniki, int foreign key references typOsmotra,int foreign key references zakluchenieOsmotra, dataMedosmotra date)

go

/*-------------МЕДКАРТОЧКА И ПРИВИВКИ ДЕТЕЙ -------------------------*/

if object_id ('gruppaZdorovya') is not nulltable gruppaZdorovyatable gruppaZdorovya (idGruppaZdorovya int identity primary key, nazvanieGruppy varchar(50))object_id ('medkartochka') is not nulltable medkartochkatable medkartochka (idMedkartohki int identity primary key, idRebenka int foreign key references deti, rost int, ves int, int foreign key references sotrudniki, idGruppaZdorovya int foreign key references gruppaZdorovya,date)object_id ('prichinaNePrivivki') is not nulltable prichinaNePrivivkitable prichinaNePrivivki (idPrichinaNePrivivki int identity primary key, prichina varchar(50) /*отказ, перенос, состо¤ние здоровь¤*/) object_id ('privivki') is not nulltable privivkitable privivki (idPrivivki int identity primary key, nazvaniePrivivki varchar(50), vozrastDlyaPrivivki int)object_id ('zhurnalPrivivki') is not nulltable zhurnalPrivivkitable zhurnalPrivivki (idZhurnalPrivivki int identity primary key, idRebenka int foreign key references deti, int foreign key references privivki, idSotrudnika int foreign key references sotrudniki, date, sdelanaPrivivka bit, idPrichinaNePrivivki int foreign key references prichinaNePrivivki)

/*----------------ЗАНЯТИЯ-------------------------------------------------*/object_id ('typZanyatia') is not nulltable typZanyatiatable typZanyatia (idTypZanyatia int identity primary key, nazvanieTypaZanyatia varchar(50),/*об¤зательное, дополнительное, индивидуальное*/)object_id ('stoimostZanyatia') is not nulltable stoimostZanyatiatable stoimostZanyatia (idStoimostZanyatia int identity primary key, idTypZanyatia int foreign key references typZanyatia, stoimostZanyatia money, stoimostDeistvitelnaS date)object_id ('nazvanieZanyatia') is not nulltable nazvanieZanyatiatable nazvanieZanyatia (idNazvanieZanyatia int identity primary key, nazvanieZanyatia varchar(50))object_id ('zanyatie') is not null ----это расписаниеtable zanyatietable zanyatie (idZanyatie int identity primary key, idNazvanieZanyatia int foreign key references nazvanieZanyatia,int foreign key references typZanyatia, dataZanyatia date, vremyaNachalaZanyatia time, vremyaOkonchaniaZanyatia time)object_id ('zanyatieSotrudnik') is not nulltable zanyatieSotrudniktable zanyatieSotrudnik (idZanyatieSotrudnik int identity primary key, idZanyatie int foreign key references zanyatie, int foreign key references sotrudniki)object_id ('zanyatieRebenok') is not nulltable zanyatieRebenoktable zanyatieRebenok (idZanyatieRebenok int identity primary key, idZanyatie int foreign key references zanyatie, idRebenka int foreign key references deti)object_id ('zanyatieGruppa') is not nulltable zanyatieGruppatable zanyatieGruppa (idZanyatieGruppa int identity primary key, idZanyatie int foreign key references zanyatie,int foreign key references gruppa)object_id ('zurnalZanyatia') is not nulltable zurnalZanyatiatable zurnalZanyatia (idZhurnalZanyatia int identity primary key, idZanyatie int foreign key references zanyatie, idRebenka int foreign key references deti, poseschenie bit)object_id ('zhurnalPoseschenia') is not nulltable zhurnalPosescheniatable zhurnalPoseschenia (idzhurnalPoseschenia int identity primary key, idRebenka int foreign key references deti, dataPoseschenia date, idSotrudnika int foreign key references sotrudniki, poseschenie bit)

---------------------------Задания-----------------------------------------------------------object_id ('reports') is not nulltable reportstable reports (idReports int identity primary key, report varchar(max))masterkinderGart

/*-------------ДЕТИ И ГРУППЫ-----------------------*/

-(idRebenka int identity primary key, familyaRebenka varchar (25), imyaRebenka varchar (25), otchestvoRebenka varchar (25), dataRogdenya date)into deti values('Иванов','Иван','Иванович','2010-01-01')into deti values('Петров','Петр','Петрович','2010-02-02')into deti values('Сидоров','Сидор','Сидорович','2010-03-03')into deti values('Васильев','Василий','Васильевич','2010-04-04')into deti values('Федоров','Федор','Федорович','2014-05-05')into deti values('Игнатова', 'Агафья', 'Павловна','2014-12-12') into deti values('Николаева', 'Зоя', 'Данииловна', '2014-07-15')into deti values('Кононова', 'Анна',' Макаровна', '2014-02-21') into deti values ('Гущин', 'Митрофан', 'Демьянович', '2011-04-14' )into deti values ('Яковлева', 'Жанна', 'Александровна', '2011-10-14' )into deti values('Фокина', 'Анжела', 'Петровна','2011-03-14' )into deti values('Лаврентьев', 'Глеб', 'Константинович', '2011-03-14')into deti values('Туров', 'Никита', 'Владиславович','2012-03-14' )into deti values('Беспалова', 'Анна', 'Павловна','2012-03-14')into deti values('Иванова', 'Евпраксия', 'Викторовна','2012-03-14')into deti values('Евсеев', 'Парфений', 'Владимирович','2012-03-14')into deti values('Зыкова', 'Василиса', 'Николааевна','2013-03-14')into deti values('Фролов', 'Парфений', 'Иванович','2013-03-14')into deti values('Якушев', 'Мартын', 'Георгьевич', '2013-03-14')into deti values('Матвеев', 'Христофор', 'Игоревич','2013-03-14')

-(idTypGruppy int identity primary key, nazvanieTypaGruppy varchar(25), vozrastOt int, vozrastDo int)into typGruppy values ('Младшая','1','2') --1into typGruppy values ('Средняя', '2','3') --2into typGruppy values ('Старшая', '3','4') --3into typGruppy values ('Подготовительная', '5','6')--4

-(idObchiyTypGruppy int identity primary key, nazvanieTypaGruppy varchar(25))into obchiyTypGruppy values ('Общаяя')--1into obchiyTypGruppy values ('Дополнительных занятий')--2

-(idGruppy int identity primary key, idTypGruppy int foreign key references typGruppy, nazvanieGruppy varchar (25), idObchiyTypGruppy int foreign key references obchiyTypGruppy)into gruppa values ('1','Смешарики','1')--1into gruppa values ('1','Цыплята','1') --2into gruppa values ('2','Муравейник','1')--3into gruppa values ('2','Феервейк','1')--4into gruppa values ('3','Радость','1')--5into gruppa values ('3','Островок','1')--6into gruppa values ('4','Классики','1')--7into gruppa values ('4','Вундеркинды','1')--8into gruppa values ('1','младшие','2')--9into gruppa values ('2','средние','2')--10into gruppa values ('3','старшие','2')--11

-(idZapisiRebenokGruppa int identity primary key, idGruppy int foreign key references gruppa, idRebenka int foreign key references deti, dataPostuplenya date, dataUhoda date)into rebenokGruppa values ('8','1','2015-03-05',null)into rebenokGruppa values ('8','2','2015-03-05',null)into rebenokGruppa values ('7','3','2015-03-05',null)into rebenokGruppa values ('7','4','2015-03-05',null)into rebenokGruppa values ('7','5','2015-03-05',null)into rebenokGruppa values ('6','6','2015-03-05',null)into rebenokGruppa values ('6','7','2015-03-05',null)into rebenokGruppa values ('6','8','2015-03-05',null)into rebenokGruppa values ('5','9','2015-03-05',null)into rebenokGruppa values ('5','10','2015-03-05',null)into rebenokGruppa values ('5','11','2015-03-05',null)into rebenokGruppa values ('4','12','2015-03-05',null)into rebenokGruppa values ('4','13','2015-03-05',null)into rebenokGruppa values ('4','14','2015-03-05',null)into rebenokGruppa values ('3','15','2015-03-05',null)into rebenokGruppa values ('3','16','2015-03-05',null)into rebenokGruppa values ('2','17','2015-03-05',null)into rebenokGruppa values ('2','18','2015-03-05',null)into rebenokGruppa values ('1','19','2015-03-05',null)into rebenokGruppa values ('1','20','2015-03-05',null)into rebenokGruppa values ('10','2','2015-03-05',null)into rebenokGruppa values ('10','1','2015-03-05',null)into rebenokGruppa values ('10','3','2015-03-05',null)

/*-------------РОДСТВЕННИКИ----------------------------------*/

-(idRodstvennika int identity primary key, familyaRodstvennika varchar (25), imyaRodstvennika varchar (25), otchestvoRodstvennika varchar (25),telefon varchar(25), adres varchar(25))into rodstvenniki values ('Игнатов', 'Павел', 'Иванович','222-22-22','Запорожье')into rodstvenniki values ('Игнатова', 'Ирина' ,'Павловна','222-22-22', 'Запорожье')into rodstvenniki values ('Николаев', 'Даниил', 'Петрович','222-22-22','Запорожье')into rodstvenniki values ('Николаева', 'Виктория' ,'Данииловна','222-22-22','Запорожье' )into rodstvenniki values ('Кононов', 'Макар', 'Игоревич','222-22-22','Запорожье')into rodstvenniki values ('Кононова', 'Алиса' ,'Макаровна','222-22-22','Запорожье' )into rodstvenniki values ('Гущин' ,'Демьян', 'Иванович','222-22-22','Запорожье' )into rodstvenniki values ('Гущина', 'Ия' ,'Юрьевна','222-22-22','Запорожье')into rodstvenniki values ('Яковлев' ,'Александр' ,'Павлович','222-22-22','Запорожье')into rodstvenniki values ('Яковлева', 'Карина', 'Александровна','222-22-22','Запорожье')into rodstvenniki values ('Фокин' ,'Пётр' ,'Петрович','222-22-22','Запорожье')into rodstvenniki values ('Фокина' ,'Вита', 'Петровна','222-22-22','Запорожье')into rodstvenniki values ('Лаврентьев' ,'Констаантин' ,'Эдуардович','222-22-22','Запорожье')into rodstvenniki values ('Лаврентьева' ,'Галина' ,'Константиновна','222-22-22','Запорожье')into rodstvenniki values ('Туров', 'Владислав' ,'Константинович','222-22-22','Запорожье' )into rodstvenniki values ('Турова' ,'Нина' , 'Владиславовна','222-22-22','Запорожье')into rodstvenniki values ('Беспалов', 'Павел' ,'Петрович','222-22-22','Запорожье')into rodstvenniki values ('Беспалова', 'Оксана','Павловна','222-22-22','Запорожье')into rodstvenniki values ('Иванов' ,'Виктор' ,'Иванович','222-22-22','Запорожье' )into rodstvenniki values ('Иванова', 'Наталья' , 'Викторовна','222-22-22','Запорожье' )into rodstvenniki values ('Евсеев' ,'Владимир', 'Александрович','222-22-22','Запорожье')into rodstvenniki values ('Евсеева' ,'Ирина','Анатольевна','222-22-22','Запорожье')into rodstvenniki values ('Зыков' ,'Николай' ,'Васильевич','222-22-22','Запорожье')into rodstvenniki values ('Зыкова' ,'Авдотья', 'Николаевна','222-22-22','Запорожье')into rodstvenniki values ('Фролов', 'Иван' ,'Денисович','222-22-22','Запорожье')into rodstvenniki values ('Фролова', 'Ирина', 'Николаевна','222-22-22','Запорожье')into rodstvenniki values ('Якушев', 'Георгий', 'Альбертович','222-22-22','Запорожье')into rodstvenniki values ('Якушева', 'Марина' , 'Петровна','222-22-22','Запорожье')into rodstvenniki values ('Матвеев' ,'Игорь', 'Ростиславович','222-22-22','Запорожье' )into rodstvenniki values ('Матвеева','Анна', 'Александровна','222-22-22','Запорожье' )into rodstvenniki values ('Доронина' ,'Юлия' ,'Владимировна','222-22-22','Запорожье')into rodstvenniki values ('Константинова', 'Синклитикия', 'Владимировна','222-22-22','Запорожье')into rodstvenniki values ('Большакова' ,'Октябрина' ,'Кимовна','222-22-22','Запорожье')into rodstvenniki values ('Молчанова' ,'Эмилия' ,'Ильяовна','222-22-22','Запорожье')into rodstvenniki values ('Елисеева' ,'Наталья' ,'Алексеевна','222-22-22','Запорожье')into rodstvenniki values ('Баранов' ,'Мэлс' ,'Владиславович','222-22-22','Запорожье' )into rodstvenniki values ('Ефремов', 'Николай', 'Фролович','222-22-22','Запорожье' )into rodstvenniki values ('Миронов', 'Георгий', 'Максимович','222-22-22','Запорожье' )into rodstvenniki values ('Соловьёв', 'Максим' ,'Владиславович','222-22-22','Запорожье' )into rodstvenniki values ('Мамонтов' ,'Лукьян', 'Антонинович','222-22-22','Запорожье' )

-(idTypRodstva int identity primary key, nazvanieRodstvennika varchar (25))into typRodstva values ('папа')into typRodstva values ('мама')into typRodstva values ('бабушка')into typRodstva values ('дедушка')into typRodstva values ('тётя')into typRodstva values ('дядя')into typRodstva values ('опекун')

go

-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

-!!!!!! каждому ребенку от 1 до 20 хотя бы одного родственника

/*ребёнок 1, фио родственника 1,тип родственника:папа, мам или ...1*/

insert into detiRodstvenniki values ('7', '4','2')into detiRodstvenniki values ('8', '5','1')into detiRodstvenniki values ('9', '7','1')into detiRodstvenniki values ('10', '10','2')into detiRodstvenniki values ('11', '12','2')into detiRodstvenniki values ('12', '13','1')into detiRodstvenniki values ('13', '15','1')into detiRodstvenniki values ('14', '17','1')into detiRodstvenniki values ('1', '31','3')into detiRodstvenniki values ('2', '36','4')into detiRodstvenniki values ('3', '32','3')into detiRodstvenniki values ('4', '37','4')into detiRodstvenniki values ('5', '38','5')into detiRodstvenniki values ('15', '17','1')into detiRodstvenniki values ('16', '19','1')into detiRodstvenniki values ('17', '21','1')into detiRodstvenniki values ('18', '24','2')into detiRodstvenniki values ('19', '25','1')into detiRodstvenniki values ('20', '27','1')

/*-------------СОТРУДНИКИ---------------------------------*/

-(idSotrudnika int identity primary key, familyaSotrudnika varchar (25), imyaSotrudnika varchar (25), otchestvoSotrudnika varchar (25),telefon varchar(25), adres varchar(100))into sotrudniki values ('Савельева', 'Дарья', 'Христофоровна', '050 567 45 67','40 лет Советской Украины ул. 54 16', null)--1into sotrudniki values ('Титов', 'Вячеслав','Арсеньевич', '066 876 54 23', '40 лет Советской Украины ул.4033',null)--2into sotrudniki values ('Фокин', 'Егор', 'Дамирович', '063 786 56 78', '40 лет Советской Украины ул. 40 45',null)--3into sotrudniki values ('Кузнецов', 'Альвиан', 'Константинович', '066 876 45 34', '40 лет Советской Украины ул. 40 15',null)--4into sotrudniki values ('Архипов', 'Фрол', 'Николаевич', '067 567 45 34', '40 лет Советской Украины ул.39-г 143',null)--5into sotrudniki values ('Васильева', 'Татьяна', 'Мэлсовна', '096 678 45 12' , 'Украинская ул.39-б 17',null)--6into sotrudniki values ('Субботина', 'Октябрина', 'Авксентьевна', '050 565 45 34', 'Запорожская ул. 40 25' ,null)--7into sotrudniki values ('Михеев','Мстисла','Матвеевич','063 890 67 45' ,'Запорожская ул.40 35',null)--8into sotrudniki values ('Данилов', 'Глеб', 'Серапионович','098 678 56 34','Запорожская ул. 4 65',null)--9into sotrudniki values ('Боброва', 'Ксения',' Владленовна', '050 678 45 12','40 лет Советской Украины ул.42 61Запорожская ул',null)--10into sotrudniki values ('Кузнецов', 'Донат', 'Денисович', '067 456 23 45', 'Подгорная ул.35',null)--11into sotrudniki values ('Фокин', 'Мэлс', 'Авксентьевич', '099 567 34 89', ' Морскаяу ул. 12',null)--12into sotrudniki values ('Орлов', 'Макар' ,'Пантелеймонович', '050 454 67 90', 'Абрикосовая ул. 7' ,null)--13into sotrudniki values ('Копылов', 'Матвей' ,'Валерьевич' , '098 567 44 23' , 'Цветочная ул.9' ,null)--14into sotrudniki values ('Фёдорова', 'Марфа', 'Богдановна', '096 768 90 45', 'Мраморная ул.8' ,null)--15into sotrudniki values ('Евсеева', 'Ольга' ,'Куприяновна' , '050 456 23 89', 'Мраморная ул.6',null)--16into sotrudniki values ('Горшкова', 'Надежда', 'Федотовна', ' 095 484 37 45', ' Мозаичная ул.9' ,null)--17into sotrudniki values ('Потапов', 'Мстислав',' Николаевич' , '066 567 45 67', ' Красная ул.8 34' ,null)--18into sotrudniki values ('Григорьева', 'Алина', 'Германновна', '097 123 45 67', 'Петровского ул.5' ,null)--19into sotrudniki values ('Козлова', 'Октябрина' , 'Леонидовна', '096 078 34 56', 'Гоголя ул.68 7' ,null)--20into sotrudniki values ('Гуляева', 'Вита' , 'Александровна', '096 078 34 56', 'Гоголя ул.68 7', 'dbo')--20

-(idDolgnosti int identity primary key, nazvanieDolgnosty varchar (50))into dolgnosti values ('Бухгалтер (главный бухгалтер)')

insert into dolgnosti values ('Заместитель по учебно-воспитательной работе')into dolgnosti values ('Заместитель по административно-хозяйственной части')

insert into dolgnosti values ('Воспитатель')into dolgnosti values ('Музыкальный руководитель')into dolgnosti values ('Воспитатель по физической культуре')into dolgnosti values ('Педагога-психолог')into dolgnosti values ('Медицинский работник' )into dolgnosti values ('Помощник воспитателя (младший воспитатель, няня)')into dolgnosti values ('Логопед')

insert into dolgnosti values ('Преподаватель иностранного языка')

insert into dolgnosti values ('Хореограф')into dolgnosti values ('Инструктор по фитнесу')into dolgnosti values ('Преподаватель ИЗО')into dolgnosti values ('Массажист')into dolgnosti values ('Администратор базы данных')--16

---(idTypNaznachenia int identity primary key, nazvanieNaznachenia varchar (25))into typNaznachenia values ('Перевод')into typNaznachenia values ('Увольнение')into typNaznachenia values ('Контракт')into typNaznachenia values ('Приём на работу')

-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ВСЕХ СОТРУДНИКОВ НАЗНАЧИТЬ НА ДОЛЖНОСТИ!!!!!!!!!!!!!!!!!!!!!

--(idZapisiNaznachenia int identity primary key, idSotrudnika int foreign key references sotrudniki, idDolgnosti int foreign key references dolgnosti, dataNaznachenia date, dataUvolnenia date, idTypNaznachenia int foreign key references typNaznachenia)into naznachenieNaDolgnost values ('1','1','1999-04-25', null, '4')into naznachenieNaDolgnost values ('2','2','1999-04-25', null, '4')into naznachenieNaDolgnost values ('3','3','1999-04-25', null, '4')into naznachenieNaDolgnost values ('4','4','1999-04-25', null, '4')into naznachenieNaDolgnost values ('5','5','1999-04-25', null, '4')into naznachenieNaDolgnost values ('6','6','1999-04-25', null, '4')into naznachenieNaDolgnost values ('7','7','1999-04-25', null, '4')into naznachenieNaDolgnost values ('8','8','1999-04-25', null, '4')into naznachenieNaDolgnost values ('9','9','1999-04-25', null, '4')into naznachenieNaDolgnost values ('10','10','1999-04-25', null, '4')into naznachenieNaDolgnost values ('11','11','1999-04-25', null, '4')into naznachenieNaDolgnost values ('12','12','1999-04-25', null, '4')into naznachenieNaDolgnost values ('13','13','1999-04-25', null, '4')into naznachenieNaDolgnost values ('14','14','1999-04-25', null, '4')into naznachenieNaDolgnost values ('15','15','1999-04-25', null, '4')into naznachenieNaDolgnost values ('16','9','1999-04-25', null, '4')into naznachenieNaDolgnost values ('17','4','1999-04-25', null, '4')into naznachenieNaDolgnost values ('18','4','1999-04-25', null, '4')into naznachenieNaDolgnost values ('19','9','1999-04-25', null, '4')into naznachenieNaDolgnost values ('20','4','1999-04-25', null, '4')into naznachenieNaDolgnost values ('21','16','1999-04-25', null, '4')

/*-------------МЕДОСМОТР СОТРУДНИКОВ-----------------------------------*/

-(idZaklucheniaOsmotra int identity primary key, zakluchenie varchar(25))into zakluchenieOsmotra values ('Работать может')--1into zakluchenieOsmotra values ('Не допускается к работе')--2into zakluchenieOsmotra values ('Отправлен на лечение')--3

-(idTypaOsmotra int identity primary key, nazvanieTypaOsmotra varchar(80), period int)

insert into typOsmotra values ('Периодический медицинский осмотр' , '12')--1 --периодичность в месяцах

insert into typOsmotra values ('Внеочередной медосмотр' , '6')--2

-(idMedosmotra int identity primary key, idSotrudnika int foreign key references sotrudniki, idTypaOsmotra int foreign key references typOsmotra,idZaklucheniaOsmotra int foreign key references zakluchenieOsmotra, dataMedosmotra date)into medosmotr values ('1', '1','1', '2015-01-02')into medosmotr values ('2', '1','1', '2015-01-02')into medosmotr values ('3', '1','1', '2015-01-02')into medosmotr values ('4', '1','1', '2015-01-02')into medosmotr values ('5', '1','1', '2015-03-02')into medosmotr values ('6', '1','1', '2015-03-02')into medosmotr values ('7', '1','1', '2015-03-02')into medosmotr values ('8', '1','1', '2015-03-02')into medosmotr values ('9', '1','1', '2015-03-02')into medosmotr values ('10', '1','1', '2015-03-02')into medosmotr values ('11', '1','1', '2015-03-02')into medosmotr values ('12', '1','1', '2015-03-02')into medosmotr values ('13', '1','1', '2015-03-02')into medosmotr values ('14', '1','1', '2015-03-02')into medosmotr values ('15', '1','1', '2015-03-02')into medosmotr values ('16', '1','1', '2015-03-02')into medosmotr values ('17', '1','1', '2015-03-02')into medosmotr values ('18', '1','1', '2015-03-02')into medosmotr values ('19', '1','1', '2015-03-02')into medosmotr values ('20', '1','1', '2015-03-02')into medosmotr values ('1', '2','3', '2016-01-15')into medosmotr values ('2', '2','3', '2016-01-15')into medosmotr values ('3', '2','3', '2016-01-15')

go

/*-------------МЕДКАРТОЧКА И ПРИВИВКИ ДЕТЕЙ -------------------------*/

--(idGruppaZdorovya int identity primary key, nazvanieGruppy varchar (25))into gruppaZdorovya values ('Специальная')into gruppaZdorovya values ('Основная')into gruppaZdorovya values ('Подготовительная')

-(idMedkartohki int identity primary key, idRebenka int foreign key references deti, rost int, ves int, idSotrudnika int foreign key references sotrudniki, idGruppaZdorovya int foreign key references gruppaZdorovya,dataMedkartochki date)into medkartochka values ( '5', '90', '9', '8', '2','2005-08-27' )into medkartochka values ('6','100','12','8','1','2005-05-2')into medkartochka values ('7','100','12','8','1','2005-05-2')into medkartochka values ('8','95','10','8','2','2005-10-27')into medkartochka values ('9','125','11','8','2','2005-11-27')into medkartochka values ( '5', '95', '96', '8', '2','2006-08-27' )into medkartochka values ('6','110','32','8','1','2006-05-2')into medkartochka values ('7','115','22','8','1','2006-05-2')into medkartochka values ('8','195','110','8','2','2006-10-27')into medkartochka values ('9','135','7','8','2','2006-11-27')

-(idPrichinaNePrivivki int identity primary key, prichina varchar(25))into prichinaNePrivivki values ('отказ')into prichinaNePrivivki values ('перенос по состоянию здоровья')into prichinaNePrivivki values ('не явился')

-(idPrivivki int identity primary key, nazvaniePrivivki varchar(25), vozrastDlyaPrivivki int)privivki values ('Вакцинация вирусного гепатита В',5)privivki values ('Вакцинация краснухи',4)privivki values ('Вакцинация гриппа',3)privivki values ('Вакцинация гриппа',5)

-(idZhurnalPrivivki int identity primary key, idRebenka int foreign key references deti,

-idPrivivki int foreign key references privivki, idSotrudnika int foreign key references sotrudniki,

-dataPrivivki date, sdelanaPrivivka bit, idPrichinaNePrivivki int foreign key references prichinaNePrivivki)into zhurnalPrivivki values ('5','1','8','2015-10-15','1', null)into zhurnalPrivivki values ('6','2','8','2015-10-15','0','2')into zhurnalPrivivki values ('7','3','8','2015-10-15','1', null)into zhurnalPrivivki values ('8','1','8','2015-10-15','0', '3')into zhurnalPrivivki values ('9','2','8','2015-10-15','1', null)into zhurnalPrivivki values ('10','3','8','2015-10-15','1', null)into zhurnalPrivivki values ('11','3','8','2015-10-15','1', null)

/*----------------ЗАНЯТИЯ-------------------------------------------------*/

-(idTypZanyatia int identity primary key, nazvanieTypaZanyatia varchar(50),/*об¤зательное, дополнительное, индивидуальное*/)typZanyatia values('Обязательные')--1typZanyatia values('Дополнительные')--2typZanyatia values('Индивидуальные')--3

-(idStoimostZanyatia int identity primary key, idTypZanyatia int foreign key references typZanyatia, stoimostZanyatia money, stoimostDeistvitelnaS date)stoimostZanyatia values ('1','0', '2015-09-01')stoimostZanyatia values ('2','5', '2015-09-01')stoimostZanyatia values ('3','30', '2015-09-01')stoimostZanyatia values ('2','10', '2016-01-01')stoimostZanyatia values ('3','40', '2016-01-01')

-(idNazvanieZanyatia int identity primary key, nazvanieZanyatia varchar(50))nazvanieZanyatia values ('Ритмика')nazvanieZanyatia values ('Изостудия')nazvanieZanyatia values ('Фитнес для малышей')nazvanieZanyatia values ('Артмастерская для малышей')nazvanieZanyatia values ('Речецветик')nazvanieZanyatia values ('Занятия с психологом')nazvanieZanyatia values ('Игротренинг для малышей')nazvanieZanyatia values ('Оздоровительные услуги')

/*zanyatieSotrudnik values ('1','11')zanyatieSotrudnik values ('2','12')zanyatieSotrudnik values ('3','13')zanyatieSotrudnik values ('4','14')zanyatieSotrudnik values ('5','15')zanyatieSotrudnik values ('6','16')zanyatieSotrudnik values ('7','17')zanyatieSotrudnik values ('8','18')zanyatieSotrudnik values ('1','6')zanyatieSotrudnik values ('2','7')zanyatieSotrudnik values ('3','8')zanyatieSotrudnik values ('4','9')zanyatieSotrudnik values ('5','10')zanyatieSotrudnik values ('6','11')zanyatieSotrudnik values ('7','12')zanyatieSotrudnik values ('8','13')

*/

----------------------------------------Задания----------------------------------------------------into reports values ('1.Персональні дані дітей вказанної групи. ')into reports values ('2.Персональні та контактні дані батьків (родичів) вказанної групи, дитини. ')into reports values ('3.Склади груп, загальні та для відвідування певних відів занять; кількість дітей в кожній групі. ')into reports values ('4.Персональні та контактні дані співробітників дитячого закладу, що працювали з певною дитиною, групою за весь час навчання, за певний проміжок часу. ')into reports values ('5.Відомості про проходження співробітниками медичного огляду (перелік співробітників, що не пройшли огляд вчасно або результати огляду не дозволяють їм працювати у дитячому закладі)')into reports values ('6.Медична картка вказанної дитини з для прегляду біометричних даних через певні проміжки часу. ')into reports values ('7.Відомості про щеплення, які були зроблені певній дитині. ')into reports values ('8.Списки та загальні кількість дітей, яким мають бути зробленні щеплення у найближчий час. ')into reports values ('9.Список та загальна кількість дітей, яким не були зробленні вчасно щеплення (з вказанням причини). ')into reports values ('10. Повний переляк занять, які відвідувала вказана дитина в певний проміжок часу. ')into reports values ('11. Розклад занять групи, дитини, викладача')into reports values ('12. Журнал відвідування дітьми закладу; загальна кількість днів, які підлягають оплаті за кожен місяць для кожної дитини. ')into reports values ('13. Суми оплат для вказаної дитини, групи, закладу вцілому за певний період. ')into reports values ('14. Суми оплат працівникам, які ведуть платні заняття, за кожен місяць. ')masterkinderGart

-------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------

-1.Персональні дані дітей вказанної групи;object_id ('pr_1_1') is not nullprocedure pr_1_1proc pr_1_1

@idGruppy int,

@beginDataPostuplenya date,

@endDataPostuplenya datedeti.idRebenka, deti.familyaRebenka, deti.imyaRebenka, deti.dataRogdenya, gruppa.idGruppy, gruppa.nazvanieGruppy, obchiyTypGruppy.nazvanieTypaGruppy, rebenokGruppa.dataPostuplenya, rebenokGruppa.dataUhoda on gruppa.idGruppy=rebenokGruppa.idGruppydeti on rebenokGruppa.idRebenka=deti.idRebenkaobchiyTypGruppy on gruppa.idObchiyTypGruppy=obchiyTypGruppy.idObchiyTypGruppygruppa.idGruppy=@idGruppy and rebenokGruppa.dataPostuplenya <= @beginDataPostuplenya and dataUhoda> @endDataPostuplenya

-execute pr_1 1,2008

-----------------------------------------------------------------------------------------------------------------------------------------object_id ('pr_1_2') is not nullprocedure pr_1_2proc pr_1_2

@idGruppy intdeti.idRebenka, deti.familyaRebenka, deti.imyaRebenka, deti.dataRogdenya, gruppa.idGruppy, gruppa.nazvanieGruppy, obchiyTypGruppy.nazvanieTypaGruppy, rebenokGruppa.dataPostuplenya, rebenokGruppa.dataUhoda on gruppa.idGruppy=rebenokGruppa.idGruppydeti on rebenokGruppa.idRebenka=deti.idRebenkaobchiyTypGruppy on gruppa.idObchiyTypGruppy=obchiyTypGruppy.idObchiyTypGruppygruppa.idGruppy=@idGruppy and rebenokGruppa.dataUhoda is null

go

-----------------------------------------------------------------------------------------------------------------------------------------

-2.Персональні та контактні дані батьків (родичів) вказанної групи, дитини;

if object_id ('pr_2_1') is not nullprocedure pr_2_1proc pr_2_1

@idRebenka intdeti.*, typRodstva.nazvanieRodstvennika, rodstvenniki.* detiRodstvenniki on deti.idRebenka=detiRodstvenniki.idRebenkarodstvenniki on detiRodstvenniki.idRodstvennika=rodstvenniki.idRodstvennikatypRodstva on detiRodstvenniki.idTypaRodstva=typRodstva.idTypRodstvadeti.idRebenka=@idRebenka

-execute pr_2_1 7object_id ('pr_2_2') is not nullprocedure pr_2_2proc pr_2_2

@idGruppy intdeti.*, typRodstva.nazvanieRodstvennika, rodstvenniki.* detiRodstvenniki on deti.idRebenka=detiRodstvenniki.idRebenkarodstvenniki on detiRodstvenniki.idRodstvennika=rodstvenniki.idRodstvennikatypRodstva on detiRodstvenniki.idTypaRodstva=typRodstva.idTypRodstvarebenokGruppa on rebenokGruppa.idRebenka=deti.idRebenkagruppa on gruppa.idGruppy=rebenokGruppa.idGruppygruppa.idGruppy=@idGruppy and rebenokGruppa.dataUhoda is nullobject_id ('pr_2_3') is not nullprocedure pr_2_3proc pr_2_3

@idGruppy int,

@beginDataPostuplenya date,

@endDataPostuplenya datedeti.*, typRodstva.nazvanieRodstvennika, rodstvenniki.* detiRodstvenniki on deti.idRebenka=detiRodstvenniki.idRebenkarodstvenniki on detiRodstvenniki.idRodstvennika=rodstvenniki.idRodstvennikatypRodstva on detiRodstvenniki.idTypaRodstva=typRodstva.idTypRodstvarebenokGruppa on rebenokGruppa.idRebenka=deti.idRebenkagruppa on gruppa.idGruppy=rebenokGruppa.idGruppygruppa.idGruppy=@idGruppy and rebenokGruppa.dataPostuplenya <= @beginDataPostuplenya and dataUhoda> @endDataPostuplenya

-execute pr_2_2 1, 2008

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-3.Склади груп, загальні та для відвідування певних відів занять; кількість дітей в кожній групі.object_id ('pr_3_1') is not nullprocedure pr_3_1proc pr_3_1

@idObchiyTypGruppy intgruppa.idGruppy, gruppa.nazvanieGruppy,obchiyTypGruppy.nazvanieTypaGruppy, deti.idRebenka, deti.familyaRebenka, deti.imyaRebenka, deti.dataRogdenya from on gruppa.idGruppy=rebenokGruppa.idGruppydeti on rebenokGruppa.idRebenka=deti.idRebenkaobchiyTypGruppy on gruppa.idObchiyTypGruppy=obchiyTypGruppy.idObchiyTypGruppygruppa.idObchiyTypGruppy=@idObchiyTypGruppy and rebenokGruppa.dataUhoda is nullallgruppa.idGruppy, gruppa.nazvanieGruppy,obchiyTypGruppy.nazvanieTypaGruppy, null,'Количество детей в группе', convert(varchar(max),COUNT (deti.idRebenka)),nullon gruppa.idGruppy=rebenokGruppa.idGruppydeti on rebenokGruppa.idRebenka=deti.idRebenkaobchiyTypGruppy on gruppa.idObchiyTypGruppy=obchiyTypGruppy.idObchiyTypGruppygruppa.idObchiyTypGruppy=@idObchiyTypGruppy and rebenokGruppa.dataUhoda is nullby gruppa.idGruppy, gruppa.nazvanieGruppy,obchiyTypGruppy.nazvanieTypaGruppyby gruppa.idGruppy, deti.idRebenka desc

-execute pr_3_1 '2', '2000-01-01', '2020-01-01'object_id ('pr_3_2') is not nullprocedure pr_3_2proc pr_3_2

@idObchiyTypGruppy int,

@beginDataPostuplenya date,

@endDataPostuplenya dategruppa.idGruppy, gruppa.nazvanieGruppy,obchiyTypGruppy.nazvanieTypaGruppy, deti.idRebenka, deti.familyaRebenka, deti.imyaRebenka, deti.dataRogdenya from on gruppa.idGruppy=rebenokGruppa.idGruppydeti on rebenokGruppa.idRebenka=deti.idRebenkaobchiyTypGruppy on gruppa.idObchiyTypGruppy=obchiyTypGruppy.idObchiyTypGruppygruppa.idObchiyTypGruppy=@idObchiyTypGruppy and rebenokGruppa.dataPostuplenya <= @beginDataPostuplenya and dataUhoda> @endDataPostuplenyaallgruppa.idGruppy, gruppa.nazvanieGruppy,obchiyTypGruppy.nazvanieTypaGruppy, null,'Количество детей в группе', convert(varchar(max),COUNT (deti.idRebenka)),nullon gruppa.idGruppy=rebenokGruppa.idGruppydeti on rebenokGruppa.idRebenka=deti.idRebenkaobchiyTypGruppy on gruppa.idObchiyTypGruppy=obchiyTypGruppy.idObchiyTypGruppygruppa.idObchiyTypGruppy=@idObchiyTypGruppy and rebenokGruppa.dataPostuplenya between @beginDataPostuplenya and @endDataPostuplenyaby gruppa.idGruppy, gruppa.nazvanieGruppy,obchiyTypGruppy.nazvanieTypaGruppyby gruppa.idGruppy, deti.idRebenka desc

-execute pr_3_2 '2', '2000-01-01', '2020-01-01'

-----------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------------------

-4.Персональні та контактні дані співробітників дитячого закладу, що працювали з певною дитиною, групою за весь час навчання, за певний проміжок часу

if object_id ('pr_4_1') is not nullprocedure pr_4_1proc pr_4_1

@idGruppy int,

@beginData date,

@endData datedistinct sotrudniki.idSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.imyaSotrudnika, sotrudniki.otchestvoSotrudnika, sotrudniki.adres, sotrudniki.telefonzanyatieGruppa on zanyatie.idZanyatie=zanyatieGruppa.idZanyatiegruppa on zanyatieGruppa.idGruppy=gruppa.idGruppyzanyatieSotrudnik on zanyatieSotrudnik.idZanyatie=zanyatie.idZanyatiesotrudniki on zanyatieSotrudnik.idSotrudnika=sotrudniki.idSotrudnikagruppa.idGruppy=@idGruppy.dataZanyatia between @beginData and @endDataobject_id ('pr_4_2') is not nullprocedure pr_4_2proc pr_4_2

@idRebenka int,

@beginData date,

@endData datedistinct sotrudniki.idSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.imyaSotrudnika, sotrudniki.otchestvoSotrudnika, sotrudniki.adres, sotrudniki.telefonzanyatieGruppa on zanyatie.idZanyatie=zanyatieGruppa.idZanyatiegruppa on zanyatieGruppa.idGruppy=gruppa.idGruppyrebenokGruppa on gruppa.idGruppy=rebenokGruppa.idGruppydeti on rebenokGruppa.idRebenka=deti.idRebenkazanyatieSotrudnik on zanyatieSotrudnik.idZanyatie=zanyatie.idZanyatiesotrudniki on zanyatieSotrudnik.idSotrudnika=sotrudniki.idSotrudnikadeti.idRebenka=@idRebenka.dataZanyatia between @beginData and @endDataalldistinct sotrudniki.idSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.imyaSotrudnika, sotrudniki.otchestvoSotrudnika, sotrudniki.adres, sotrudniki.telefonzanyatieRebenok on zanyatie.idZanyatie=zanyatieRebenok.idZanyatiedeti on zanyatieRebenok.idRebenka=deti.idRebenkazanyatieSotrudnik on zanyatieSotrudnik.idZanyatie=zanyatie.idZanyatiesotrudniki on zanyatieSotrudnik.idSotrudnika=sotrudniki.idSotrudnikadeti.idRebenka=@idRebenka.dataZanyatia between @beginData and @endData

go

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-5.Відомості про проходження співробітниками медичного огляду (перелік співробітників, що не пройшли огляд вчасно або результати огляду не дозволяють їм працювати у дитячому закладі)

if object_id ('pr_5_1') is not nullprocedure pr_5_1proc pr_5_1

-@idZakl intsotrudniki.idSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.imyaSotrudnika, .dataMedosmotra, typOsmotra.nazvanieTypaOsmotra, zakluchenieOsmotra.zakluchenie, dateadd (month, typOsmotra.period, medosmotr.dataMedosmotra) as sleduyuchiyOsmotr

(sotrudniki.idSotrudnika, MAX(medosmotr.dataMedosmotra) dataPoslednegoOsmotramedosmotr on sotrudniki.idSotrudnika=medosmotr.idSotrudnikaby sotrudniki.idSotrudnika

-execute pr_5_1 1object_id ('pr_5_2') is not nullprocedure pr_5_2proc pr_5_2

-@idZakl intsotrudniki.idSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.imyaSotrudnika, .dataMedosmotra, typOsmotra.nazvanieTypaOsmotra, zakluchenieOsmotra.zakluchenie, dateadd (month, typOsmotra.period, medosmotr.dataMedosmotra) as sleduyuchiyOsmotr

(sotrudniki.idSotrudnika, MAX(medosmotr.dataMedosmotra) dataPoslednegoOsmotramedosmotr on sotrudniki.idSotrudnika=medosmotr.idSotrudnikaby sotrudniki.idSotrudnika

)as posledniyOsmotrsotrudniki on posledniyOsmotr.idSotrudnika=sotrudniki.idSotrudnikamedosmotr on posledniyOsmotr.idSotrudnika=medosmotr.idSotrudnika and posledniyOsmotr.dataPoslednegoOsmotra=medosmotr.dataMedosmotratypOsmotra on medosmotr.idTypaOsmotra=typOsmotra.idTypaOsmotrazakluchenieOsmotra on medosmotr.idZaklucheniaOsmotra=zakluchenieOsmotra.idZaklucheniaOsmotra

-execute pr_5_1 1

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-6.Медична картка вказанної дитини з для прегляду біометричних даних через певні проміжки часу; object_id ('pr_6_1') is not nullprocedure pr_6_1proc pr_6_1

@idRebenka intmedkartochka.idMedkartohki, medkartochka.dataMedkartochki, medkartochka.idGruppaZdorovya, medkartochka.rost, medkartochka.ves, sotrudniki.idSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.imyaSotrudnika join medkartochka on deti.idRebenka=medkartochka.idRebenkajoin sotrudniki on medkartochka.idSotrudnika=sotrudniki.idSotrudnikadeti.idRebenka=@idRebenka

-execute pr_6_1 5

-------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------------------------

-7.Відомості про щеплення, які були зроблені певній дитині; object_id ('pr_7_1') is not nullprocedure pr_7_1proc pr_7_1

@idRebenka intdeti.idRebenka, deti.familyaRebenka, deti.imyaRebenka, deti.dataRogdenya, ISNULL(privivki.nazvaniePrivivki, '-') nazvaniePrivivki, ISNULL(convert(varchar(max),privivki.vozrastDlyaPrivivki),'-') vozrastDlyaPrivivki, (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, '-') prichinajoin zhurnalPrivivki on deti.idRebenka=zhurnalPrivivki.idRebenkajoin privivki on zhurnalPrivivki.idPrivivki=privivki.idPrivivkijoin prichinaNePrivivki on zhurnalPrivivki.idPrichinaNePrivivki=prichinaNePrivivki.idPrichinaNePrivivkideti.idRebenka=@idRebenka

-execute pr_7_1 5

-execute pr_7_1 6

-execute pr_7_1 1

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

-8.Списки та загальні кількість дітей, яким мають бути зробленні щеплення у найближчий час;object_id ('pr_8_1') is not nullprocedure pr_8_1proc pr_8_1detiVozrast.*, privivki.*, ISNULL(prichinaNePrivivki.prichina, '-') kommentardetiVozrastprivivki on detiVozrast.vozrast>=privivki.vozrastDlyaPrivivkijoin zhurnalPrivivki on detiVozrast.idRebenka=zhurnalPrivivki.idRebenka and privivki.idPrivivki=zhurnalPrivivki.idPrivivkijoin prichinaNePrivivki on zhurnalPrivivki.idPrichinaNePrivivki=prichinaNePrivivki.idPrichinaNePrivivki

(zhurnalPrivivki.sdelanaPrivivka=0 OR zhurnalPrivivki.sdelanaPrivivka IS NULL)by detiVozrast.idRebenka

-exec pr_8_1

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

- 9.Список та загальна кількість дітей, яким не були зробленні вчасно щеплення (з вказанням причини).

if object_id ('pr_9_1') is not nullprocedure pr_9_1proc pr_9_1deti.idRebenka, deti.familyaRebenka, deti.imyaRebenka, deti.dataRogdenya, ISNULL(privivki.nazvaniePrivivki, '-') nazvaniePrivivki, ISNULL(convert(varchar(max),privivki.vozrastDlyaPrivivki),'-'), (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, '-') prichinajoin zhurnalPrivivki on deti.idRebenka=zhurnalPrivivki.idRebenkajoin privivki on zhurnalPrivivki.idPrivivki=privivki.idPrivivkijoin prichinaNePrivivki on zhurnalPrivivki.idPrichinaNePrivivki=prichinaNePrivivki.idPrichinaNePrivivkizhurnalPrivivki.sdelanaPrivivka=0

-exec pr_9_1

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

-10.Повний переляк занять, які відвідувала вказана дитина в певний проміжок часу

if object_id ('pr_10_1') is not nullprocedure pr_10_1proc pr_10_1

@idRebenka int

@beginData date,

@endData date*deti on zurnalZanyatia.idRebenka=deti.idRebenkazanyatie on zurnalZanyatia.idZanyatie=zanyatie.idZanyatienazvanieZanyatia on zanyatie.idNazvanieZanyatia=nazvanieZanyatia.idNazvanieZanyatia

@beginData date,

@endData date* fromzanyatieGruppa on zanyatie.idZanyatie=zanyatieGruppa.idZanyatiegruppa on zanyatieGruppa.idGruppy=gruppa.idGruppyrebenokGruppa on gruppa.idGruppy=rebenokGruppa.idGruppydeti on rebenokGruppa.idRebenka=deti.idRebenkazanyatieSotrudnik on zanyatieSotrudnik.idZanyatie=zanyatie.idZanyatiesotrudniki on zanyatieSotrudnik.idSotrudnika=sotrudniki.idSotrudnikadeti.idRebenka=@idRebenka.dataZanyatia between @beginData and @endDatamasterkinderGartobject_id ('detiVozrast') is not nullview detiVozrastview detiVozrastdeti.*, DATEDIFF (year, deti.dataRogdenya, GETDATE()) vozrastdeti

------------------------------------------------------------------------------------------------------------------------------------------------------------object_id ('actualPost') is not nullview actualPostview actualPost asactualAssign.idSotrudnika, sotrudniki.imyaSotrudnika, sotrudniki.familyaSotrudnika, sotrudniki.userName, dolgnosti.idDolgnosti, nazvanieDolgnosty

(select idSotrudnika, MAX(dataNaznachenia) assignDate from naznachenieNaDolgnostdataUvolnenia is nullby naznachenieNaDolgnost.idSotrudnika) as actualAssignnaznachenieNaDolgnost on naznachenieNaDolgnost.idSotrudnika=actualAssign.idSotrudnika and naznachenieNaDolgnost.dataNaznachenia=actualAssign.assignDatesotrudniki on actualAssign.idSotrudnika=sotrudniki.idSotrudnikadolgnosti on naznachenieNaDolgnost.idDolgnosti=dolgnosti.idDolgnosti

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------object_id ('userRole') is not nullproc userRoleproc userRole@curUser nvarchar(30)@t table(UserName varchar(25), RoleName nvarchar(50), LoginName nvarchar(50), DefDBName nvarchar(50), DefSchemaName nvarchar(50), UserID smallint, [SID] varbinary(100)) @RoleName nvarchar(50) @curUser = USERinto @tsp_helpuser @curUseractualPost.idSotrudnika, actualPost.imyaSotrudnika, actualPost.familyaSotrudnika, actualPost.nazvanieDolgnosty,.UserName, t.RoleName@t tjoin actualPost on t.UserName=actualPost.userName

------------------------------------------------------------------------------------------------------------------------------------------------------------object_id ('actualGruppa') is not nullview actualGruppaview actualGruppa asrebenokGruppa.idZapisiRebenokGruppa, rebenokGruppa.idRebenka, rebenokGruppa.idGruppy, gruppa.nazvanieGruppy, obchiyTypGruppy.nazvanieTypaGruppy nazvanieObchTypaGruppy, typGruppy.nazvanieTypaGruppy, rebenokGruppa.dataPostuplenya, rebenokGruppa.dataUhodagruppa on rebenokGruppa.idGruppy=gruppa.idGruppyobchiyTypGruppy on gruppa.idObchiyTypGruppy=obchiyTypGruppy.idObchiyTypGruppytypGruppy on gruppa.idTypGruppy=typGruppy.idTypGruppy(rebenokGruppa.dataUhoda is null or rebenokGruppa.dataUhoda>GETDATE()) and rebenokGruppa.dataPostuplenya<=GETDATE();

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.

.        Б. Гамильтон ADO.NET Сборник рецептов. Для профессионалов. - СПб.: Питер, 2005.

.        Сеппа Д. Программирование на Microsoft ADO.NET 2.0 Мастер-класс. / Пер. с англ. - М.: Издательство «Русская редакция»,2005.

Похожие работы на - База даних автоматизованої системи дошкільного навчального закладу

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!