Информационная система учета успеваемости студентов деканата "А" для сбора, хранения и обработки информации о студентах

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 15.06.2017
Размер файла 7,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Указанные значения КЕО нормируются для зданий, расположенных в III световом климатическом поясе.

Площадь на одно рабочее место с ВДТ или ПЭВМ для взрослых пользователей должна составлять не менее 6,0кв.м, а объем не менее 20,0куб.м.

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

Для внутренней отделки интерьера помещений с ВДТ и ПЭВМ должны использоваться диффузно-отражающие материалы с коэффициентом отражения для потолка - 0,7…0,8; для стен - 0,5…0,6; для пола - 0,3…0,5.

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

В производственных помещениях, в которых ведется работа на ВДТ и ПЭВМ, температура, относительная влажность и скорость движения воздуха на рабочих местах должны соответствовать параметрам, приведенным в таблице 4.2.

Таблица 4.2 - Оптимальные нормы микроклимата для помещений с ВДТ и ПЭВМ

Период года

Температура воздуха, С° не более

Относительная влажность воздуха, %

Скорость движения воздуха, м/с

холодный

22…24

40…60

0,1

теплый

23…25

40…60

0,1

Для повышения влажности воздуха в помещениях с ВДТ и ПЭВМ следует применять увлажнители воздуха, заправляемые ежедневно дистиллированной или прокипяченной питьевой водой.

Уровни положительных и отрицательных аэроионов в воздухе помещений с ВДТ и ПЭВМ должны соответствовать нормам, приведенным в таблице 4.3.

Таблица 4.3 - Уровни ионизации воздуха помещений при работе на ВДТ и ПЭВМ

Уровни

Число ионов в 1см3 воздуха

n+

n-

Минимально необходимые

400

600

Оптимальные

1500…3000

3000…5000

Максимально допустимые

50000

50000

При выполнении основной работы на ВДТ и ПЭВМ (диспетчерские, операторские, расчетные кабины и посты управления, залы вычислительной техники и др.), во всех учебных и дошкольных помещениях с ВДТ и ПЭВМ уровень шума на рабочем месте не должен превышать 50дБА.

В производственных помещениях, в которых работа с ВДТ и ПЭВМ является основной, вибрация на рабочих местах не должен превышать допустимых норм вибрации (Таблица 4.4).

Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300…500лк. Допускается установка светильников, местного освещения, для подсветки документов. Местное освещение не должно создавать бликов на поверхности экрана и увеличивать освещенность экрана более 300лк.

Таблица 4.4 - Допустимые нормы вибрации на всех рабочих местах с ВДТ и ПЭВМ, включая учащихся и детей дошкольного возраста

Среднегеометрические частоты октавных полос, Гц

Допустимые значения оси X, Y

по виброускорению

по виброскорости

дБ

мс-1

дБ

мс-1

2

5,3x10

25

4,5x10

79

4

5,3x10

25

2,2x10

73

8

5,3x10

25

1,1x10

67

16

1,0x10

31

1,1x10

67

31,5

2,1x10

37

1,1x10

67

63

4,2x10

43

1,1x10

67

Корректированные значения и их уровни

9,3x10

30

2,0x10

72

Следует ограничивать прямую блёсткость от источников освещения, при этом яркость светящихся поверхностей (окна, светильники и др.), находящихся в поле зрения, должна быть не более 200кд/кв.м.

Следует ограничивать отраженную блёсткость на рабочих поверхностях (экран, стол, клавиатура и др.) за счет правильного выбора типов светильников и расположения рабочих мест, по отношению к источникам естественного и искусственного освещения, при этом яркость бликов на экране ВДТ и ПЭВМ не должна превышать 40кд/кв.м и яркость потолка, при применении системы отраженного освещения, не должна превышать 200кд/кв.м.

Показатель ослепленности для источников общего искусственного освещения в производственных помещениях должен быть не более 20, показатель дискомфорта в административно-общественных помещениях не более 40, в дошкольных и учебных помещениях не более 25.

Следует ограничивать неравномерность распределения яркости в поле зрения пользователя ВДТ и ПЭВМ, при этом соотношение яркости между рабочими поверхностями не должна превышать 3:1 - 5:1, а между рабочими поверхностями и поверхностями стен, и оборудования 10:1.

Яркость светильников общего освещения в зоне углов излучения от 50 до 90 градусов с вертикалью в продольной и поперечной плоскостях должна составлять не более 200кд/кв.м, защитный угол светильников должен быть не менее 40градусов.

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

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

Рабочие места с ВДТ и ПЭВМ, по отношению к световым проемам, должны располагаться так, чтобы естественный свет падал сбоку, преимущественно слева.

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

Экран видеомонитора должен находиться от глаз пользователя на оптимальном расстоянии 600…700мм, но не ближе 500мм, с учетом размеров алфавитно-цифровых знаков и символов.

В помещениях с ВДТ и ПЭВМ ежедневно должна проводиться влажная уборка.

Помещения с ВДТ и ПЭВМ должны быть оснащены аптечкой первой помощи и углекислотными огнетушителями.

Главными элементами рабочего места пользователя ПК являются стол и кресло. Основным рабочим положением является положение сидя.

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

4.2 Расчет общего освещения

Качественное освещение всегда имело большое значение для благополучной жизни человека. Свыше 90% информации человек получает через глаза, путем обработки зрения. Хорошее освещение способно создать удобную обстановку, которая может тонизировать и успокаивать нервную систему, подымать настроение.

Помещения для работы с ПК должны иметь естественное и искусственное освещение.

На рабочем месте с ПК, где постоянно используются первичные документы (печатные и рукописные тексты и т.п.), допускается дополнительно к общему освещению применять местное освещение - настольные лампы, которые должны быть оборудованы светорегуляторами. Местное освещение не должно создавать бликов отражения на экране дисплея.

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

Для снижения перепадов яркости в поле зрения при естественном освещении должны применяться средства солнцезащиты - пленки с металлизированным покрытием, регулируемые жалюзи, светорассеивающие плотные шторы.

Для обеспечения нормируемых значений освещенности в помещениях с ПК следует проводить чистку стекол оконных проемов и светильников не реже двух раз в год и проводить своевременную замену перегоревших ламп.

Цель расчета общего освещения - определить количество светильников необходимых для обеспечения Еmin и мощность осветительной установки, необходимых для обеспечения в рабочем помещении нормированной освещенности.

Для расчета общего равномерного освещения применим метод коэффициента использования светового потока.

В помещении с малым выделением пыли, размерами А = 5м (длина помещения), В = 4м (ширина помещения), H = 3,5м (высота помещения), hp = 0,75м (высота рабочей поверхности) и коэффициентами отражения потолка rп = 70%, стен rc = 50%, расчетной поверхности rр = 30% определим световой поток освещения светильниками "Астра" с люминесцентными лампами для создания освещенности Еmin = 300лк (для средней точности, IV разряд, для темного фона и малого контраста) (Рисунок 4.1).

Рисунок 4.1 Схема расположения светильников в помещении

В помещении с малым выделением пыли осветительную установку с люминесцентными лампами рассчитывают при коэффициенте запаса k = 1,2. В светильнике "Астра" глубокое светораспределение. Поэтому оптимальное относительное расстояние между светильниками возьмем л = 1,3м. Приняв высоту свеса светильников h = 0,1 м, получим расчетную высоту:

(4.1)

м.

и расстояние между светильниками:

(4.2)

м.

Число рядов светильников в помещении:

(4.3)

Число светильников в ряду:

(4.4)

Округляем эти числа до ближайших больших Na = 2 и Nb = 2.

Общее число светильников:

(4.5)

Размещаем окончательно светильники.

Расстояние от крайних светильников до стены выбирается из (0,3…0,5) La, (0,3…0,5) Lb, где Lа = Lb = 1,3м.

Получим: м и м.

Рисунок 4.2 Схема размещения светильников

Индекс помещения определяется по следующему выражению:

(4.6)

м.

По справочнику выбираем коэффициент использования светового потока з = 0,6. Так как расстояние между светильниками практически равно оптимальному, то принимаем коэффициент минимальной освещенности Z = 1,15. Определяем необходимый световой поток лампы:

Световой поток одной лампы определяется по формуле:

(4.7)

лм

где n - число ламп в светильнике.

Выбираем по таблице ближайшую стандартную лампу ЛД 20_4, имеющую поток Фл = 880лм.

Мощность осветительной установки Р определяется из выражения:

(4.8)

Вт

где Рi - потребляемая мощность одной лампы, Вт.

4.3 Пожарная безопасность

Согласно НПБ 105_03, по взрывоопасной и пожарной опасности помещения и здания подразделяются на пять категорий, и в зависимости от категории установлены нормативы по огнестойкости строительных конструкций, планировке зданий, этажности, оснащенности устройствами противопожарной защиты, режимными мероприятиями и т.д.

В соответствии с НПБ 105_03 здания ВЦ относятся к категории пожароопасности _ "В" и в соответствии с СНиП 21_01_97* имеют степень огнестойкости - II.

Согласно ГОСТ 12.1.004-91 помещения ВЦ объемом до 200м3 должны иметь следующие средства пожаротушения:

- огнетушитель ОУ_5 - 2 шт.;

- количество эвакуационных выходов _ 2.

Раннее обнаружение возгорания позволяет значительно снизить ущерб, наносимый ВЦ. Это позволяют сделать устройства пожарной автоматики. Они предназначены для обнаружения, оповещения и ликвидации пожаров, а также для защиты людей от воздействия опасных факторов. Они включают системы автоматической пожарной (АПС) и охранно-пожарной (ОПС) сигнализации, автоматические установки пожаротушения (АУП), системы противодымной защиты зданий повышенной этажности и т.д.

Наряду с АПС помещения ВЦ необходимо оборудовать АУП. Газовые установки являются наиболее эффективными при пожарной защите зданий и сооружений, поскольку не только обеспечивают быстрое (менее 30 сек.) тушение пожара, но и предотвращают образование взрывоопасных сред путем создания в атмосфере препятствующих распространению пламени концентраций ингибитора (метод флегматизации). Рекомендуется использовать для ВЦ:

- система автоматического пожаротушения - газовая АУП с электропуском, типа УАГЭ;

- сигнализатор РИД _ 1шт.

4.4 Экологическая безопасность

На сегодняшний день достаточно остро встает проблема утилизации устаревшего электронного оборудования.

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

Причем, у современной электроники есть своя специфика - она в гораздо большей степени состоит из неликвидных материалов. Так, один компьютер класса 286 или 386 в комплекте с ЭЛТ-монитором ориентировочно содержит от 10 до 20кг стекла, 3кг АБС-пластика, примерно столько же черных металлов, по 200г меди и алюминия, всего 1г серебра и не более 10мг золота. То есть в основном речь идет о материалах, вторичное использование которых невозможно, и потому стоимость переработки значительно превышает стоимость получаемых металлов.

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

С 2005г. все производители в странах ЕС обязаны бесплатно принимать свою продукцию на переработку.

Составляющие ПК с точки зрения утилизации приведены в таблице 4.5

Таблица 4.5 - Классификация компьютерных отходов

Ликвидные отходы

Неликвидные отходы

Драгоценные металлы (золото, серебро)

Мониторы (барий)

Цветные металлы (алюминий, медь)

Печатные платы (гетинакс)

Черный металл (жесть)

Элементы питания (кадмий, цинк, никель)

Полимеры (АБС-пластик)

Световые индикаторы (свинец)

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

Затем удаляются все крупные пластиковые части. В большинстве случаев эта операция также осуществляется вручную. Пластик сортируется в зависимости от типа и измельчается для того, чтобы в дальнейшем его можно было использовать повторно. Оставшиеся после разборки печатные платы отправляют на линию переработки электронного лома. На рисунке 4.3 приведена схема линии, разработанной ООО «Зубцовский машиностроительный центр» (Тверская область, г. Зубцов).

Линия размалывает в порошок печатные платы с навесными элементами. Затем порошок разделяется на фракции по удельному весу. По такой же технологии старатели промывают золотоносный песок. Границу разделения по удельному весу можно регулировать. Таким образом, на выходе переработчики получают концентрат драгоценных металлов. Одна из линий по переработке электронного лома, изготовленная в Зубцове и установленная в Москве, перерабатывает по 100 килограммов печатных плат в час, извлекая в месяц килограммы драгоценных металлов. Такая переработка весьма рентабельна.

Рисунок 4.3 Схема линии по переработке электронного лома: 1 - дробилка роторная; 2 - дробилка молотковая; 3 - вентилятор; 4 - питатель шнековый; 5 - сепаратор вибрационный; 6 - вибростол концентратора; 7 - вибростол отходов; 8 - фильтр рукавный 1 ступени; 9 - фильтр рукавный 2 ступени; 10 - гидросистема; 11 - электрощит управления

Заключение

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

В результате проведена следующая работа:

- построена семантическая модель предметной области, определены и описаны информационные объекты и связи между ними;

- разработана схема базы данные на основе построенной модели данных с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.

- выбраны программные средства для разработки программного обеспечения на основе проведенного сравнительного анализа по сформулированным критерия;

- разработана структура сети для обеспечения надежной работы всех сотрудников системы деканата;

- разработан эргономичный интерфейс;

- созданы руководства пользователей.

Список использованных источников

1. Гончаров, Алексей Юрьевич. ACCESS 2003 : самоучитель с примерами / А.Ю. Гончаров .-- Москва : КУДИЦ-ОБРАЗ, 2004 .-- 270 с. : ил .-- Рассмотрены примеры создания реальных баз данных.

2. Дейт, К.Дж. Введение в системы баз данных : Пер.с англ. / К.Дж. Дейт .-- 7-е изд. -- Москва : Вильямс, 2001 .-- 1071 с. : ил .-- Доп. тит.л. на англ. яз. -- Библиогр. в конце частей.

3. Калинкина, Татьяна Ивановна. Телекоммуникационные и вычислительные сети. Архитектура, стандарты и технологии : учеб. пособие для вузов по направлению "Информатика и вычисл. техника" / Т. И. Калинкина, Б. В. Костров, В. Н. Ручкин .-- СПб. : БХВ-Петербург, 2010 .-- 283 с. : ил. ; 23 см .-- (Учебное пособие) .-- Библиогр.: с. 281-283.

4. Когаловский Михаил Рувимович. Перспективные технологии информационных систем. - М.: ДМК-Пресс, 2003, - 288с.

5. Минаси, М. Графический интерфейс пользователя : секреты проектирования. -- М. : Мир, 1996 .-- 159 с.

6. Понамарев, Вячеслав Александрович. Базы данных в Delphi 7: Самоучитель / В.А. Понамарев .-- Санкт-Петербург : Питер, 2003 .-- 219 с. : ил .-- (Самоучитель). -- Библиогр.: с.219.

7. Фленов, Михаил. Библия Delphi / Михаил Фленов .-- 2-е изд., перераб. и доп. -- СПб. : БХВ-Петербург, 2008 .-- 799 с. : ил. + 1 электрон. опт. диск (CD-ROM) .-- Библиогр.: с. 794.

8. СНиП 23-05-95. Естественное и искусственное освещение.

9. НПБ 105-03 "Определение категорий помещений, зданий и наружных установок по взрывопожарной и пожарной опасности"

10. СНиП 21.01--97-II. Пожарная безопасность зданий и сооружений.

11. СанПиН 2.2.2/2.4.1340-03. Санитарно-эпидемиологические правила и нормативы.

Приложение А

Файл SpisokStudentov.pas

unit SpisokStudentov;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBGridEhGrouping, DBGridEh, ExtCtrls, DBCtrls, StdCtrls, Mask,

DBCtrlsEh, DBLookupEh, GridsEh, DMUnit, ComCtrls, DB, ADODB, DBTables, EhLibADO;

type

TSpisokStudentovForm = class(TForm)

PageControl1: TPageControl;

Список: TTabSheet;

Карточка: TTabSheet;

DBGridEh1: TDBGridEh;

Panel1: TPanel;

FamLabel: TLabel;

FormLabel: TLabel;

ImLabel: TLabel;

OtchLabel: TLabel;

GrupLabel: TLabel;

NumbLabel: TLabel;

LgotLabel: TLabel;

ZadoljLabel: TLabel;

FamDBEditEh: TDBEditEh;

ImDBEditEh: TDBEditEh;

OtchDBEditEh: TDBEditEh;

NumbDBEditEh: TDBEditEh;

GrupDBEditEh: TDBEditEh;

PageControl2: TPageControl;

TabSheet1: TTabSheet;

LichGroupBox: TGroupBox;

PolLabel: TLabel;

DatRojLabel: TLabel;

MRojLabel: TLabel;

GrajLabel: TLabel;

DatRojDBDateTimeEditEh: TDBDateTimeEditEh;

MRojDBEditEh: TDBEditEh;

GrajDBLookupComboboxEh: TDBLookupComboboxEh;

PolDBLookupComboboxEh: TDBLookupComboboxEh;

PaspDanGroupBox: TGroupBox;

VidDocLichLabel: TLabel;

NomerDocLichLabel: TLabel;

SerDocLichLabel: TLabel;

KemVidanPasLabel: TLabel;

VidDocDBLookupComboboxEh: TDBLookupComboboxEh;

NomerDocLichDBEditEh: TDBEditEh;

SerDocLichDBEditEh: TDBEditEh;

KemVidanPasDBEditEh: TDBEditEh;

LgotiGroupBox: TGroupBox;

NalichLgotLabel: TLabel;

NomSprLabel: TLabel;

DatSpravLabel: TLabel;

PrimechLabel: TLabel;

Label2: TLabel;

NalLgotDBLookupComboboxEh: TDBLookupComboboxEh;

NoSpravDBEditEh: TDBEditEh;

DataSpravDBDateTimeEditEh: TDBDateTimeEditEh;

PrimachSpravDBEditEh: TDBEditEh;

DBDateTimeEditEh1: TDBDateTimeEditEh;

ContactGroupBox: TGroupBox;

DomTelLabel: TLabel;

MobTelLabel: TLabel;

ProjLabel: TLabel;

Label18: TLabel;

Label19: TLabel;

DomTelDBEditEh: TDBEditEh;

MobTelDBEditEh: TDBEditEh;

ProjDBLookupComboboxEh: TDBLookupComboboxEh;

DBLookupComboboxEh2: TDBLookupComboboxEh;

DBEditEh12: TDBEditEh;

TabSheet2: TTabSheet;

DanObrazovGroupBox: TGroupBox;

VidDocObrazLabel: TLabel;

SerDocObrazLabel: TLabel;

NomerDocObrazLabel: TLabel;

DataVidDocObrazLabel: TLabel;

OtlichLabel: TLabel;

InostranLabel: TLabel;

VidDocObrazDBLookupComboboxEh: TDBLookupComboboxEh;

SerDocObrazDBEditEh: TDBEditEh;

NomerDocObrazDBEditEh: TDBEditEh;

DataVidDocObrazDBDateTimeEditEh: TDBDateTimeEditEh;

OtlichDBLookupComboboxEh: TDBLookupComboboxEh;

InostrDBLookupComboboxEh: TDBLookupComboboxEh;

DanZachslGroupBox: TGroupBox;

OsnavanLabel: TLabel;

DataZachislLabel: TLabel;

NomPrikazLabel: TLabel;

SpecLabel: TLabel;

NapravLabel: TLabel;

SpacializLabel: TLabel;

SrokObuchLabel: TLabel;

OtdelenLabel: TLabel;

FormObuchLabel: TLabel;

PrimechOsnovLabel1: TLabel;

OsnovanDBLookupComboboxEh: TDBLookupComboboxEh;

DataZachislDBDateTimeEditEh: TDBDateTimeEditEh;

DBEditEh1: TDBEditEh;

SpecDBLookupComboboxEh: TDBLookupComboboxEh;

NapravDBLookupComboboxEh: TDBLookupComboboxEh;

SpecializDBLookupComboboxEh: TDBLookupComboboxEh;

SrokObuchDBLookupComboboxEh: TDBLookupComboboxEh;

OtdelenDBLookupComboboxEh: TDBLookupComboboxEh;

FormObuchDBLookupComboboxEh: TDBLookupComboboxEh;

DBEditEh4: TDBEditEh;

ChangeButton: TButton;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

GroupBox1: TGroupBox;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

DBEditEh2: TDBEditEh;

DBEditEh5: TDBEditEh;

DBDateTimeEditEh2: TDBDateTimeEditEh;

DBLookupComboboxEh3: TDBLookupComboboxEh;

GroupBox2: TGroupBox;

PageControl3: TPageControl;

TabSheet7: TTabSheet;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

DBEditEh6: TDBEditEh;

DBLookupComboboxEh4: TDBLookupComboboxEh;

DBEditEh7: TDBEditEh;

DBDateTimeEditEh3: TDBDateTimeEditEh;

TabSheet8: TTabSheet;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

DBEditEh8: TDBEditEh;

DBLookupComboboxEh5: TDBLookupComboboxEh;

DBEditEh9: TDBEditEh;

DBDateTimeEditEh4: TDBDateTimeEditEh;

TabSheet9: TTabSheet;

Label16: TLabel;

Label17: TLabel;

Label20: TLabel;

Label21: TLabel;

DBEditEh10: TDBEditEh;

DBLookupComboboxEh6: TDBLookupComboboxEh;

DBEditEh11: TDBEditEh;

DBDateTimeEditEh5: TDBDateTimeEditEh;

DBNavigator1: TDBNavigator;

PoiskEdit: TEdit;

Label1: TLabel;

TabSheet10: TTabSheet;

Label22: TLabel;

Label23: TLabel;

groupsComboBox: TComboBox;

studentsGrid: TDBGridEh;

unGroupGrid: TDBGridEh;

PasteButton: TButton;

StudentsDataSource: TDataSource;

unGroupDataSource: TDataSource;

GroupBox3: TGroupBox;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

CheckBox3: TCheckBox;

CheckBox4: TCheckBox;

CheckBox5: TCheckBox;

CheckBox6: TCheckBox;

DBGridEh2: TDBGridEh;

DBGridEh3: TDBGridEh;

Label3: TLabel;

PoiskGrEdit: TEdit;

DBNavigator3: TDBNavigator;

DBEditEh3: TDBEditEh;

DBEditEh13: TDBEditEh;

DBEditEh14: TDBEditEh;

procedure Button7Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure groupsComboBoxChange(Sender: TObject);

procedure PasteButtonClick(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure PoiskFamEditChange(Sender: TObject);

procedure PoiskGrEditChange(Sender: TObject);

private

studentsQuery : TADOQuery;

ungroupQuery : TADOQuery;

procedure getGroups;

procedure getStudents;

procedure getunGroup;

function getIdGroupByName(Name: string):integer;

public

{ Public declarations }

end;

var

SpisokStudentovForm: TSpisokStudentovForm;

implementation

uses Formirovaniegruppi, StudentFormUnit, SpravkaUnit;

{$R *.dfm}

procedure TSpisokStudentovForm.Button1Click(Sender: TObject);

begin

Spravka.Show;

DM.SpiStudentDataS.IndexFieldNames:= 'Фамилия';

end;

procedure TSpisokStudentovForm.Button3Click(Sender: TObject);

begin

StudentForm.Show;

end;

procedure TSpisokStudentovForm.Button7Click(Sender: TObject);

begin

FormirovanieGruppiForm.Show;

end;

procedure TSpisokStudentovForm.PoiskFamEditChange(Sender: TObject);

var

filter: string;

begin

if Length(PoiskEdit.Text) > 0 then

begin

DM.SpiStudentDataS.Filtered:=true;

filter := 'Фамилия like ''*'+PoiskEdit.Text+'*''';

DM.SpiStudentDataS.Filter:=filter;

end

else

begin

DM.SpiStudentDataS.Filtered:=false;

DM.SpiStudentDataS.Filter:='';

end;

end;

procedure TSpisokStudentovForm.PoiskGrEditChange(Sender: TObject);

var

filter: string;

begin

if Length(PoiskGrEdit.Text) > 0 then

begin

DM.SpiStudentDataS.Filtered:=true;

filter := 'name like ''*'+PoiskGrEdit.Text+'*''';

DM.SpiStudentDataS.Filter:=filter;

end

else

begin

DM.SpiStudentDataS.Filtered:=false;

DM.SpiStudentDataS.Filter:='';

end;

end;

procedure TSpisokStudentovForm.FormActivate(Sender: TObject);

begin

getGroups;

groupsComboBox.Text := '<выберите группу>';

getStudents;

getunGroup;

PoiskEdit.Text:='';

end;

procedure TSpisokStudentovForm.FormCreate(Sender: TObject);

begin

studentsQuery := TADOQuery.Create(nil);

studentsQuery.Connection := DM.Connection;

ungroupQuery := TADOQuery.Create(nil);

ungroupQuery.Connection := DM.Connection;

end;

procedure TSpisokStudentovForm.groupsComboBoxChange(Sender: TObject);

begin

getStudents;

getunGroup;

if groupsComboBox.ItemIndex>=0 then

PasteButton.Enabled := true

else

PasteButton.Enabled := False;

end;

procedure TSpisokStudentovForm.PasteButtonClick(Sender: TObject);

var fromGroup, toGroup, fio : string;

id, idstudent: integer;

updateQuery:TADOQuery;

btnResult: integer;

begin

toGroup := groupsComboBox.Items[groupsComboBox.ItemIndex];

fromGroup := ungroupQuery.FieldByName('name').AsString;

fio := ungroupQuery.FieldByName('Фамилия').AsString;

idstudent := ungroupQuery.FieldByName('id').AsInteger;

btnResult := MessageDlg('Внимание! Вы точно хотите переместить студента '+fio+' из группы '+fromGroup+' в группу '+toGroup+'?',

mtInformation, mbYesNo, 0);

if btnResult=6 then

begin

id := getIdGroupByName(toGroup);

updateQuery := TADOQuery.Create(nil);

updateQuery.Connection := DM.Connection;

updateQuery.SQL.Add('update [Данные студента] set id_группа=:id where id=:idstudent');

updateQuery.Parameters.ParamByName('id').Value := id;

updateQuery.Parameters.ParamByName('idstudent').Value := idstudent;

updateQuery.ExecSQL;

updateQuery.Close;

updateQuery.Free;

studentsQuery.Requery();

ungroupQuery.Requery();

end;

end;

procedure TSpisokStudentovForm.getGroups;

var spisokDS : TADOQuery;

begin

spisokDS := TADOQuery.Create(nil);

spisokDS.Connection := DM.Connection;

spisokDS.SQL.Add('select * from [Группа]');

spisokDS.Open;

spisokDS.First;

groupsComboBox.Clear;

while not spisokDS.Eof do

begin

groupsComboBox.Items.Add(spisokDS.FieldByName('name').AsString);

spisokDS.Next;

end;

spisokDS.Close;

spisokDS.Free;

end;

function TSpisokStudentovForm.getIdGroupByName(Name: string): integer;

var

idQuery: TADOQuery;

begin

idQuery := TADOQuery.Create(nil);

idQuery.Connection := DM.Connection;

idQuery.SQL.Add('select * from [Группа] where name=:group');

idQuery.Parameters.ParamByName('group').Value := name;

idQuery.Open;

idQuery.First;

Result := idQuery.FieldByName('id_gruppa').AsInteger;

idQuery.Close;

idQuery.Free;

end;

procedure TSpisokStudentovForm.getStudents;

var group: string;

idQuery: TADOQuery;

id : integer;

begin

if groupsComboBox.ItemIndex<0 then

exit;

group := groupsComboBox.Items[groupsComboBox.ItemIndex];

id := getIdGroupByName(group);

studentsQuery.Close;

studentsQuery.SQL.Clear;

studentsQuery.SQL.Add('SELECT * FROM [Данные студента] LEFT JOIN Группа ON Группа.[id_gruppa] = [Данные студента].[id_группа] where [Данные студента].[id_группа]=:id');

studentsQuery.Parameters.ParamByName('id').Value := id;

studentsQuery.Open;

StudentsDataSource.DataSet := studentsQuery;

studentsGrid.Columns[0].FieldName :='Фамилия';

studentsGrid.Columns[1].FieldName :='Имя';

studentsGrid.Columns[2].FieldName :='Отчество';

studentsGrid.Columns[3].FieldName :='Номер зачетной книжки';

end;

procedure TSpisokStudentovForm.getunGroup;

var group: string;

idQuery: TADOQuery;

id : integer;

begin

group := groupsComboBox.Items[groupsComboBox.ItemIndex];

id := getIdGroupByName(group);

ungroupQuery.Close;

ungroupQuery.SQL.Clear;

ungroupQuery.SQL.Add('SELECT * FROM [Данные студента] LEFT JOIN Группа ON Группа.[id_gruppa] = [Данные студента].[id_группа] where ([Данные студента].[id_группа] is not null and [Данные студента].[id_группа]<>:id) or [Данные студента].[id_группа] is null');

ungroupQuery.Parameters.ParamByName('id').Value := id;

ungroupQuery.Open;

unGroupDataSource.DataSet := ungroupQuery;

unGroupGrid.Columns[0].FieldName :='Фамилия';

unGroupGrid.Columns[1].FieldName :='Имя';

unGroupGrid.Columns[2].FieldName :='Отчество';

unGroupGrid.Columns[3].FieldName :='Номер зачетной книжки';

unGroupGrid.Columns[4].FieldName :='name';

end;

end.

Приложение Б

Файл SpisokPrepodov.pas

unit SpisokPrepodov;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBGridEh, StdCtrls, Mask, DBCtrlsEh, DBLookupEh, DBGridEhGrouping,

GridsEh, DB, ADODB, DBTables, DMUnit, ExtCtrls, ComCtrls, DBCtrls, EhLibADO;

type

TSpisokPrepodovForm = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

DBGridEh1: TDBGridEh;

Label1: TLabel;

PoiskFamEdit: TEdit;

Panel1: TPanel;

FamPrepodLabel: TLabel;

NamePrepLabel: TLabel;

OtchestPrepLabel: TLabel;

FamDBEditEh: TDBEditEh;

NamePrepDBEditEh: TDBEditEh;

OtchestPrepDBEditEh: TDBEditEh;

PageControl2: TPageControl;

TabSheet4: TTabSheet;

DoljnostLabel: TLabel;

DaljnostDBLookupComboboxEh: TDBLookupComboboxEh;

GroupBoxKaf: TGroupBox;

TelKafLabel: TLabel;

KafedraDBLookupComboboxEh: TDBLookupComboboxEh;

NomerKafDBEditEh: TDBEditEh;

TelKafDBEditEh: TDBEditEh;

TabSheet5: TTabSheet;

MobTelPrepLabel: TLabel;

MobTelPrepDBEditEh: TDBEditEh;

TabSheet6: TTabSheet;

Label2: TLabel;

PasteDisPrepButton: TButton;

DBGridEh2: TDBGridEh;

DelDisPrepButton: TButton;

Label3: TLabel;

Label4: TLabel;

KafComboBox: TComboBox;

PrepodsGrid: TDBGridEh;

unKafGrid: TDBGridEh;

PasteButton: TButton;

PrepodDataSource: TDataSource;

unKafDataSource: TDataSource;

DBNavigator1: TDBNavigator;

DBNavigator2: TDBNavigator;

Label5: TLabel;

PoiskKafEdit: TEdit;

procedure KafComboBoxChange(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure PasteButtonClick(Sender: TObject);

procedure PoiskFamEditChange(Sender: TObject);

procedure PoiskKafEditChange(Sender: TObject);

private

prepodsQuery : TADOQuery;

unKafQuery : TADOQuery;

procedure getKaf;

procedure getPrepods;

procedure getunKaf;

function getIdKafByName(Name: string):integer;

public

{ Public declarations }

end;

var

SpisokPrepodovForm: TSpisokPrepodovForm;

implementation

{$R *.dfm}

procedure TSpisokPrepodovForm.KafComboBoxChange(Sender: TObject);

begin

getPrepods;

getunKaf;

if KafComboBox.ItemIndex>=0 then

PasteButton.Enabled := true

else

PasteButton.Enabled := False;

end;

procedure TSpisokPrepodovForm.PasteButtonClick(Sender: TObject);

var fromKaf, toKaf, fio : string;

id, idprepod: integer;

updateQuery:TADOQuery;

btnResult: integer;

begin

toKaf := KafComboBox.Items[KafComboBox.ItemIndex];

fromKaf := unKafQuery.FieldByName('номер').AsString;

fio := unKafQuery.FieldByName('Фамилия').AsString;

idPrepod := unKafQuery.FieldByName('dp.id').AsInteger;

btnResult := MessageDlg('Внимание! Вы точно хотите переместить преподавателя '+fio+' с кафедры '+fromKaf+' на кафедру '+toKaf+'?',

mtInformation, mbYesNo, 0);

if btnResult=6 then

begin

id := getIdKafByName(toKaf);

updateQuery := TADOQuery.Create(nil);

updateQuery.Connection := DM.Connection;

updateQuery.SQL.Add('update [Преподаватель кафедра] set [id_кафедра]=:id where id_преподаватель=:idPrepod');

updateQuery.Parameters.ParamByName('id').Value := id;

updateQuery.Parameters.ParamByName('idPrepod').Value := idPrepod;

updateQuery.ExecSQL;

updateQuery.Close;

updateQuery.Free;

PrepodsQuery.Requery();

unKafQuery.Requery();

end;

end;

procedure TSpisokPrepodovForm.PoiskFamEditChange(Sender: TObject);

var

filter: string;

begin

if Length(PoiskFamEdit.Text) > 0 then

begin

DM.SpiPrepodDataS.Filtered:=true;

filter := 'Фамилия like ''*'+PoiskFamEdit.Text+'*''';

DM.SpiPrepodDataS.Filter:=filter;

end

else

begin

DM.SpiPrepodDataS.Filtered:=false;

DM.SpiPrepodDataS.Filter:='';

end;

end;

procedure TSpisokPrepodovForm.PoiskKafEditChange(Sender: TObject);

var

filter: string;

begin

if Length(PoiskKafEdit.Text) > 0 then

begin

DM.SpiPrepodDataS.Filtered:=true;

filter := 'Номер like ''*'+PoiskKafEdit.Text+'*''';

DM.SpiPrepodDataS.Filter:=filter;

end

else

begin

DM.SpiPrepodDataS.Filtered:=false;

DM.SpiPrepodDataS.Filter:='';

end;

end;

procedure TSpisokPrepodovForm.FormActivate(Sender: TObject);

begin

getKaf;

KafComboBox.Text := '<выберите кафедру>';

getPrepods;

getunKaf;

PoiskFamEdit.Text:='';

end;

procedure TSpisokPrepodovForm.FormCreate(Sender: TObject);

begin

PrepodsQuery := TADOQuery.Create(nil);

PrepodsQuery.Connection := DM.Connection;

unKafQuery := TADOQuery.Create(nil);

unKafQuery.Connection := DM.Connection;

end;

procedure TSpisokPrepodovForm.getKaf;

var spisokDS : TADOQuery;

begin

spisokDS := TADOQuery.Create(nil);

spisokDS.Connection := DM.Connection;

spisokDS.SQL.Add('select [Номер] as nomer from [Кафедра]');

spisokDS.Open;

spisokDS.First;

KafComboBox.Clear;

while not spisokDS.Eof do

begin

KafComboBox.Items.Add(spisokDS.FieldByName('nomer').AsString);

spisokDS.Next;

end;

spisokDS.Close;

spisokDS.Free;

end;

function TSpisokPrepodovForm.getIdKafByName(Name: string): integer;

var

idQuery: TADOQuery;

begin

idQuery := TADOQuery.Create(nil);

idQuery.Connection := DM.Connection;

idQuery.SQL.Add('select * from [Кафедра] where [Номер]=:Kaf');

idQuery.Parameters.ParamByName('Kaf').Value := name;

idQuery.Open;

idQuery.First;

Result := idQuery.FieldByName('id').AsInteger;

idQuery.Close;

idQuery.Free;

end;

procedure TSpisokPrepodovForm.getPrepods;

var Kaf: string;

idQuery: TADOQuery;

id : integer;

begin

if KafComboBox.ItemIndex<0 then

exit;

Kaf := KafComboBox.Items[KafComboBox.ItemIndex];

id := getIdKafByName(Kaf);

PrepodsQuery.Close;

PrepodsQuery.SQL.Clear;

PrepodsQuery.SQL.Add('SELECT * FROM [Данные преподавателя] dp RIGHT JOIN (Кафедра LEFT JOIN [Преподаватель кафедра] pk ON Кафедра.[id] = pk.[id_кафедра]) ON dp.[id] = pk.[id_преподаватель] where pk.id_кафедра=:id');

PrepodsQuery.Parameters.ParamByName('id').Value := id;

PrepodsQuery.Open;

PrepodDataSource.DataSet := PrepodsQuery;

PrepodsGrid.Columns[0].FieldName :='Фамилия';

PrepodsGrid.Columns[1].FieldName :='Имя';

PrepodsGrid.Columns[2].FieldName :='Отчество';

PrepodsGrid.Columns[3].FieldName :='Кафедра';

end;

procedure TSpisokPrepodovForm.getunKaf;

var Kaf: string;

idQuery: TADOQuery;

id : integer;

begin

Kaf := KafComboBox.Items[KafComboBox.ItemIndex];

id := getIdKafByName(Kaf);

unKafQuery.Close;

unKafQuery.SQL.Clear;

unKafQuery.SQL.Add('SELECT * FROM [Данные преподавателя] dp RIGHT JOIN (Кафедра LEFT JOIN [Преподаватель кафедра] pk ON Кафедра.[id] = pk.[id_кафедра]) ON dp.[id] = pk.[id_преподаватель] WHERE (pk.[id_кафедра] Is Not Null And pk.[id_кафедра]<>:id)');

unKafQuery.Parameters.ParamByName('id').Value := id;

unKafQuery.Open;

unKafDataSource.DataSet := unKafQuery;

unKafGrid.Columns[0].FieldName :='Фамилия';

unKafGrid.Columns[1].FieldName :='Имя';

unKafGrid.Columns[2].FieldName :='Отчество';

unKafGrid.Columns[3].FieldName :='Кафедра';

unKafGrid.Columns[4].FieldName :='Должность';

end;

end.

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [7,2 M], добавлен 21.04.2015

  • Проблема повышения оперативности учета и контроля посещаемости и успеваемости студентов ЮТИ ТПУ. Разработка информационной системы, требования к ней. Информационное обеспечение задачи, автоматизация предметной области. Описание интерфейса системы.

    дипломная работа [2,6 M], добавлен 17.07.2012

  • Проектирование базы данных "Деканат" в среде MySQL и разработка многопользовательского приложения с целью хранения информации о студентах и учета их успеваемости. Построение графиков оценок по предметам в спроектированной информационной системе.

    курсовая работа [507,2 K], добавлен 16.01.2015

  • Разработка информационной системы с клиент-серверной архитектурой "Складской учет мебельного магазина". Выявление связей, сущностей, их атрибутов и ключей. Проектирование логической и физической моделей данных. Задание типов данных для полей таблиц.

    курсовая работа [860,7 K], добавлен 18.01.2015

  • Функциональная и информационная модель предметной области. Спецификации сущностей, атрибутов, связей. Ограничение ссылочной целостности, запросы пользователей. Даталогическая модель базы данных, спецификация таблиц. Интерфейс конечного пользователя.

    курсовая работа [1,1 M], добавлен 13.02.2014

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

    дипломная работа [3,1 M], добавлен 16.08.2015

  • Анализ существующих систем управления базами данных и выбор оптимальной. Создание автоматизированной информационной системы "Поликлиника", определение сущностей и взаимосвязей, описание физической модели, проектирование интерфейса, алгоритм программы.

    курсовая работа [3,1 M], добавлен 21.11.2009

  • Выбор языка и среды программирования, технологий доступа и взаимодействия с источниками данных. Требования к разработке информационной системы. Проектирование базы данных информационной системы учета и взаимодействующего с ней приложения .NET Framework.

    курсовая работа [1,3 M], добавлен 17.05.2013

  • Разработка информационной системы для хранения информации о результатах экзаменов студентов. Описание сервисов, разработка логической и физической модели системы. Выбор системы хранения данных. Схема работы сервиса, принципы безопасности доступа.

    курсовая работа [560,6 K], добавлен 09.09.2012

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

    курсовая работа [2,4 M], добавлен 17.10.2014

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

    курсовая работа [152,2 K], добавлен 11.05.2014

  • Проектирование, концептуальное проектирование базы данных. Формулировка ограничений целостности. Физическое проектирование интерфейса. Генерация отчетов, программная реализация. Основные требования для обеспечения надежности системы управления данными.

    дипломная работа [41,6 K], добавлен 17.08.2010

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

    курсовая работа [33,5 K], добавлен 25.07.2012

  • Создание автоматизированной информационной системы учета оборудования (компьютерной и оргтехники) на АКБ НМБ ОАО с использованием современных компьютерных средств. Проектирование базы данных. Алгоритмы решения задач. Расчёт затрат на проектирование.

    дипломная работа [2,1 M], добавлен 16.12.2013

  • Разработка информационной системы ресторана, определение ее границ для реализации базы данных. Перечень запросов, отчетов и операций по вводу информации в информационной системе "Ресторан". Проектирование базы данных, выбор средств ее реализации.

    курсовая работа [7,6 M], добавлен 27.04.2011

  • Реализация в автосервисах информационной справочной системы для организации учета распределения работ и ведения учета их стоимости. Анализ механизма предоставления услуг. Инфологическое и даталогическое проектирование. Выявление сущностей базы данных.

    курсовая работа [1020,5 K], добавлен 24.01.2009

  • Выбор программного обеспечения для разработки интерфейса информационной системы. Создание базы данных для расчета заработной платы сотрудникам средне-специальных учебных заведений, создание выходной информации в виде отчетов, установочного файла.

    дипломная работа [2,4 M], добавлен 11.04.2010

  • Проблема организации и хранения данных в информационной сети аэропорта. Разработка и заполнение таблиц соответствующими данными. Установление типа связей ячеек. Создание запросов для вывода необходимых полей, применение формы, отчетов и макросов.

    курсовая работа [1,9 M], добавлен 27.12.2014

  • Сущность и виды СУБД Microsoft Access. Алгоритм создания базы данных сессионной успеваемости студентов ВУЗа. Проектирование форм для сводных таблиц с помощью конструктора окон. Разработка отчетов и запросов на выборку данных. Создание кнопочной формы.

    курсовая работа [5,4 M], добавлен 09.05.2011

  • Сфера работы туристической фирмы, подлежащей автоматизации. Концептуальное проектирование базы данных. Перечень сущностей и атрибутов. Инфологическое и логическое проектирование и создание запросов. Работа с информационной системой, формирование отчетов.

    курсовая работа [6,6 M], добавлен 24.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.