149552 (607967), страница 3

Файл №607967 149552 (База даних "Кафедра" в Access з меню MDI) 3 страница149552 (607967) страница 32016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Технічне обслуговування

Дата

Інв.№ майна

Вид обслуговування

05.05.1999

101

Гарантийне

27.06.2003

403

Профілактичне

24.08.2003

503

Профілактичне

30.03.2004

401

Профілактичне

27.04.2005

302

Профілактичне

23.05.2005

304

Профілактичне

18.09.2006

501

Профілактичне

09.12.2007

101

Профілактика

30.01.2008

404

Гарантийне

18.02.2008

203

Гарантийне

26.02.2008

504

Гарантийне

16.03.2008

201

Гарантийне

22.03.2008

303

Гарантийне

23.03.2008

502

Гарантийне

25.03.2008

204

Гарантийне

02.04.2008

102

Гарантийне

20.04.2008

103

Гарантийне

22.04.2008

202

Гарантийне

25.04.2008

201

Гарантийне

26.04.2008

301

Гарантийне

15.05.2008

104

Гарантийне

20.05.2008

402

Гарантийне

Рис.9.

Тепер на підставі логічної моделі ми бачимо, що нормалізація здійснена вірно.

2.2.4 Розробка фізичної схеми бази даних

Таким чином, остаточна схема бази даних „Кафедра” виглядає так, як це зображено на рис.10.

Рис.10.

Схема даних має зв’язки типу „Один-до-багатьох”.

3. .Інтерфейс користувача інформаціїної системи

Інтерфейс користувача – це зручний засіб спілкування з даними який дозволяє швидко зробити певну дію не використовуя ніяких особових команд.

Схема алгоритму доступу до БД і меню наведена на рис.11.

Рис.11. Схема алгоритму.

Інтерфейс за допомогою технології MDI у Windows реалізується наступним чином (рис.12):

Рис.12.

Меню „Файл” має підменю „Знищити об’єкт” (деяку таблицю).

Меню „Редагування” має підменю „Додати новий запис”, „”Знищити запис”, „На останній запис”.

Меню „Сервіс” має підменю „Доступ до даних” (відкриття сторінки доступу до даних через Інтернет).

Меню „Вихід” здійснює вихід з інформаційної системи зі збереженням усіх даних.

4. Програмні додатки, які реалізують пункт меню

Модуль реалізації меню у вікнах MDI наведений у лістингу 1.

Лістинг 1

unit MainFrm;

interface

uses

WinTypes, WinProcs, Classes, Graphics, Forms, Controls, Menus,

StdCtrls, Messages, Dialogs, SysUtils, ComCtrls,

ToolWin, ExtCtrls, Buttons, ImgList;

type

TMainForm = class(TForm)

mmMain: TMainMenu;

OpenDialog: TOpenDialog;

mmiFile: TMenuItem;

mmiExit: TMenuItem;

N3: TMenuItem;

mmiOpen: TMenuItem;

mmiNew: TMenuItem;

mmiWindow: TMenuItem;

mmiArrangeIcons: TMenuItem;

mmiCascade: TMenuItem;

mmiTile: TMenuItem;

mmiCloseAll: TMenuItem;

tlbMain: TToolBar;

ilMain: TImageList;

tbFileOpen: TToolButton;

{ File Event Handlers }

procedure mmiNewClick(Sender: TObject);

procedure mmiOpenClick(Sender: TObject);

procedure mmiExitClick(Sender: TObject);

{ Window Event Handlers }

procedure mmiTileClick(Sender: TObject);

procedure mmiArrangeIconsClick(Sender: TObject);

procedure mmiCascadeClick(Sender: TObject);

procedure mmiCloseAllClick(Sender: TObject);

public

{ User defined methods }

procedure OpenTextFile(EditForm: TForm; Filename: string);

procedure OpenBMPFile(FileName: String);

procedure Open MDBFile(RTFForm: TForm; FileName: string);

procedure SetToolBar(AToolBar: TToolBar);

end;

var

MainForm: TMainForm;

implementation

uses MDIBmpFrm, MdiEditFrm, MdiRtfFrm, FTypForm;

const

{ Define constants to represent file name extensions }

BMPExt = '.BMP'; // Bitmapped file

TextExt = '.TXT'; // Text file

RTFExt = '.MDB'; // File BD

{$R *.DFM}

procedure TMainForm.mmiNewClick(Sender: TObject);

begin

{ Determine the file type the user wishes to open by calling the

GetFileType function. Call the appropriate method based on the

retrieved file type. }

case GetFileType of

mrTXT: OpenTextFile(nil, ''); // Open a text file.

mrMDB: OpenMDBFile(nil, ''); // Open an MDB file.

mrBMP:

begin

{ Set the defalt filter for OpenDialog1 for BMP files. }

OpenDialog.FilterIndex := 2;

mmiOpenClick(nil);

end;

end;

end;

procedure TMainForm.mmiOpenClick(Sender: TObject);

var

Ext: string[4];

begin

{ Call the appropriate method based on the file type of the file

selected from OpenDialog1 }

if OpenDialog.Execute then

begin

{ Get the file's extension and compare it to determine the

file type the user is opening. Call the appropriate method and

pass in the file name. }

Ext := ExtractFileExt(OpenDialog.FileName);

if CompareStr(UpperCase(Ext), TextExt) = 0 then

OpenTextFile(ActiveMDIChild, OpenDialog.FileName)

else if CompareStr(UpperCase(Ext), BMPExt) = 0 then

OpenBMPFile(OpenDialog.FileName)

else if CompareStr(UpperCase(Ext), MDBExt) = 0 then

Open MDBFile(ActiveMDIChild, OpenDialog.FileName);

end;

end;

procedure TMainForm.mmiExitClick(Sender: TObject);

begin

Close;

end;

{ Window Event Handlers }

procedure TMainForm.mmiTileClick(Sender: TObject);

begin

Tile;

end;

procedure TMainForm.mmiArrangeIconsClick(Sender: TObject);

begin

ArrangeIcons;

end;

procedure TMainForm.mmiCascadeClick(Sender: TObject);

begin

Cascade;

end;

procedure TMainForm.mmiCloseAllClick(Sender: TObject);

var

i: integer;

begin

{ Close all forms in revers order as they appear in the

MDIChildren property. }

for i := MdiChildCount - 1 downto 0 do

MDIChildren[i].Close;

end;

{ User Defined Methods }

procedure TMainForm.OpenTextFile(EditForm: TForm; FileName: string);

begin

{ If EditForm is of a TEditForm type, then give the user the option

of loading the file contents into this form. Otherwise, create a

new TEditForm instance and load the file into that instance }

if (EditForm <> nil) and (EditForm is TMdiEditForm) then

if MessageDlg('Load file into current form?', mtConfirmation,

[mbYes, mbNo], 0) = mrYes then

begin

TMdiEditForm(EditForm).OpenFile(FileName);

Exit;

end;

{ Create a new TEditForm and call its OpenFile() method }

with TMdiEditForm.Create(self) do

if FileName <> '' then

OpenFile(FileName)

end;

procedure TMainForm.OpenMDBFile(MDBForm: TForm; FileName: string);

begin

{ If MDBForm is of a TMDBForm type, then give the user the option

of loading the file contents into this form. Otherwise, create a

new TMDBForm instance and load the file into that instance }

if (MDBForm <> nil) and (MDBForm is TMdiMDBForm) then

if MessageDlg('Load file into current form?', mtConfirmation,

[mbYes, mbNo], 0) = mrYes then begin

(MDBForm as TMdiMDBForm).OpenFile(FileName);

Exit;

end;

{ Create a new TMDBForm and call its OpenFile() method }

with TMdiMDBForm.Create(self) do

if FileName <> '' then

OpenFile(FileName);

end;

procedure TMainForm.OpenBMPFile(FileName: String);

begin

{ Create a new TBMPForm instances and load a BMP file into it. }

with TMdiBmpForm.Create(self) do

OpenFile(FileName);

end;

procedure TMainForm.SetToolBar(AToolBar: TToolBar);

begin

if (MDIChildCount = 1) and (AToolBar = nil) then

tlbMain.Parent := self

else begin

tlbMain.Parent := nil;

if not (AToolBar = nil) then

AToolBar.Parent := self;

end;

end;

end.

Контрольний приклад роботи випливаючого меню наведено на рис.13.

Рис.13.

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

Поперше ниж скористатися пунктами випливаючого меню, необхідно закрити форму (кнопка „Закрити форму”), яка зявляється автоматично при відкритті БД „Кафедра”, так як меню демонструє команди на прикладі цієї форми.

5. Запити на мові SQL. Структура бази даних

5.1 Структура БД „Кафедра” наведена на наступному рис.14.

Рис 14.

5.2 Запити до бази даних і відповіді на них

Запит на вибірку з БД інформації, для заповнення таблиці за №групи1 та №групи5 мовою SQL:

SELECT [Base 1].[№ кафедри], [Base 1].[№ групи 1], [Base 1].[№ групи 5]

FROM [Base 1]

WHERE ((([Base 1].[№ групи 1]) Like "C*#") AND (([Base 1].[№ групи 5]) Like "C*#"));

Запит 1 у режимі таблиці (рис.15):

Рис.15.

Запит 2 з використанням внутрішнього підзапиту мовою SQL:

TRANSFORM First([Base 1].[№ групи 1]) AS [First-№ групи 1]

SELECT [Base 1].[№ кафедри], First([Base 1].[№ групи 1]) AS [Итоговое значение № групи 1]

FROM [Base 1]

GROUP BY [Base 1].[№ кафедри]

PIVOT [Base 1].[№ групи 2];

Запит з використанням внутрішнього підзапиту у режимі таблиці (рис.16):

Рис.16.

Запит 3 про № груп 1 і 5 і відповідних їм шифрів і назв спеціальностей, якщо задані № кафедр 3 і 5 мовою SQL:

SELECT [Спеціальна кафедра].[№ групи], [Спеціальна кафедра].№кафедри, [Спеціальність підготовки].ШифрСпеціальності, [Спеціальність підготовки].НазваСпеціальності

FROM [Спеціальність підготовки] INNER JOIN [Спеціальна кафедра] ON [Спеціальність підготовки].ШифрСпеціальності = [Спеціальна кафедра].ШифрСпеціальності

WHERE ((([Спеціальна кафедра].[№ групи]) Like "C0*") AND (([Спеціальна кафедра].№кафедри)=3 Or ([Спеціальна кафедра].№кафедри)=5)) OR ((([Спеціальна кафедра].[№ групи]) Like "C4*"));

Запит 3 у режимі таблиці (рис.17):

Рис.17.

Четвертий запит про усі записи, що впорядковані по полю - № кафедри мовою SQL:

SELECT [Base 1].[№ кафедри], [Base 1].[№ групи 1], [Base 1].[№ групи 2], [Base 1].[№ групи 3], [Base 1].[№ групи 4], [Base 1].[№ групи 5], [Спеціальна кафедра].НазваКафедри

FROM [Base 1] INNER JOIN [Спеціальна кафедра] ON [Base 1].[№ кафедри] = [Спеціальна кафедра].№кафедри

GROUP BY [Base 1].[№ кафедри], [Base 1].[№ групи 1], [Base 1].[№ групи 2], [Base 1].[№ групи 3], [Base 1].[№ групи 4], [Base 1].[№ групи 5], [Спеціальна кафедра].НазваКафедри

Характеристики

Тип файла
Документ
Размер
3,35 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7029
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее