Отчет по ЛР 01 (Лабораторная работа по делфи)
Описание файла
Файл "Отчет по ЛР 01" внутри архива находится в папке "Лабораторная работа по делфи". Документ из архива "Лабораторная работа по делфи", который расположен в категории "". Всё это находится в предмете "информационные технологии" из 2 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информационные технологии" в общих файлах.
Онлайн просмотр документа "Отчет по ЛР 01"
Текст из документа "Отчет по ЛР 01"
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Московский государственный университет приборостроения и информатики»
Кафедра ИТ-6 «Управление и моделирование систем»
Отчет по лабораторной работе №1
Вариант «7»
Реферат подготовил: Васильев О.М.
студент 1курса ИТ-6 группы
Проверил: Выжгин А. Ю.
Москва 2011г.
Введение
Предметом курса являются системы управления базами данных (СУБД). Это очень важная тема, без основательного знакомства с которой в наше время невозможно быть не только квалифицированным программистом, но даже и грамотным пользователем компьютеров.
Заметим, что литературы на русском языке, посвященной тематике СУБД, очень мало. Невозможно порекомендовать одну или несколько книг, содержание которых покрывало бы материал данного курса. К числу лучших относятся книги К. Дейта "Введение в системы баз данных" (Наука, 1980) и "Руководство по реляционной СУБД DB2" (Финансы и статистика, 1988), а также книга Дж. Ульмана "Основы систем баз данных" (Финансы и статистика, 1983). Хотя эти книги несколько устарели (на английском языке вышло уже несколько дополненных изданий), их стоит читать.
Основное назначение данного курса - систематическое введение в идеи и методы, используемые в современных реляционных системах управления базами данных. В курсе не рассматривается какая-либо одна популярная СУБД; излагаемый материал в равной степени относится к любой современной системе. Как показывает опыт, без знания основ баз данных трудно на серьезном уровне работать с конкретными системами, как бы хорошо они не были документированы.
Практическое Задание
вариант № 7
Создайте базу данных База_Группа_Фамилия на основе следующей схемы базы данных
и следующих данных:
Дата | Пол | Оценка | Фамилия | Возраст | Страна | Знает язык |
3.01.05 | мужской | 5 | Иванов | 20 | Италия | английский |
15.01.05 | женский | 4 | Петрова | 19 | Франция | французский |
2.02.05 | женский | 3 | Сидорова | 21 | Италия | немецкий |
2.03.05 | мужской | 5 | Иванов | 20 | Германия | английский |
14.02.05 | женский | 3 | Сидорова | 21 | Венгрия | немецкий |
4.04.05 | женский | 4 | Петрова | 19 | Италия | французский |
-
Для заполнения подчиненных таблиц создайте формы. Заполните таблицы данными
-
Создайте форму для таблицы “Поездки менеджеров” с возможностью выбора значений в полях подстановки из выпадающих списков меню
-
Создайте следующие запросы:
-
Оценки работы менеджеров, посетивших Францию
-
Возраст Сидоровой;
-
Язык , которым владеют двадцатилетние менеджеры и их фамилии;
-
Список менеджеров, совершивших поездки в январе 2005 года.
-
-
Создайте отчет по поездкам менеджеров.
Приведение к 3 нормальной форме
Нормальная форма — свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение.
Первая нормальная форма
Дата | Пол | Оценка | Фамилия | Возраст | Страна | Знает язык |
3.01.05 | мужской | 5 | Иванов | 20 | Италия | английский |
15.01.05 | женский | 4 | Петрова | 19 | Франция | французский |
2.02.05 | женский | 3 | Сидорова | 21 | Италия | немецкий |
2.03.05 | мужской | 5 | Иванов | 20 | Германия | английский |
14.02.05 | женский | 3 | Сидорова | 21 | Венгрия | немецкий |
4.04.05 | женский | 4 | Петрова | 19 | Италия | французский |
Вторая нормальная форма
Ключ | Дата | Пол | Оценка | Фамилия | Возраст | Страна | Знает язык |
1 | 3.01.05 | мужской | 5 | Иванов | 20 | Италия | английский |
2 | 15.01.05 | женский | 4 | Петрова | 19 | Франция | французский |
3 | 2.02.05 | женский | 3 | Сидорова | 21 | Италия | немецкий |
4 | 2.03.05 | мужской | 5 | Иванов | 20 | Германия | английский |
5 | 14.02.05 | женский | 3 | Сидорова | 21 | Венгрия | немецкий |
6 | 4.04.05 | женский | 4 | Петрова | 19 | Италия | французский |
Третья нормальная форма
Листинг программы
Procedure Podsctet(S:TTable;V:TTable; L1:TLabel; L2:TLabel);
var i,j:integer;
begin
i:=0;j:=0;
S.First;
While not S.Eof do begin
if not S.FieldByName('Type').AsBoolean then
if V.Lookup('ID_vladeles',S.FieldByName('ID_vladeles').AsInteger,'Lgota') > 0 then
i:= i+1 else
j:=j+1;
S.Next;
end;
L1.Caption:= 'Количество не спареных телефонов со льготами = '+IntToStr(i);
L2.Caption:= 'Количество не спареных телефонов без льгот = '+IntToStr(j);
end;
//Закрыть
procedure TATC.N2Click(Sender: TObject);
begin ATC.Close;end;
//Открытие таблиц
procedure TATC.N4Click(Sender: TObject);
begin DBG.DataSource.DataSet := Vladeles;
P_set.Visible := false;end;
procedure TATC.N5Click(Sender: TObject);
begin DBG.DataSource.DataSet := Settings;
P_set.Visible := true;
Podsctet(Settings,Vladeles, Label2, Label3); end;
procedure TATC.N6Click(Sender: TObject);
begin DBG.DataSource.DataSet := Telefons;
P_set.Visible := false;end;
procedure TATC.N8Click(Sender: TObject);
begin
If Dbg.DataSource.DataSet = Vladeles then begin
Add_form.Caption := 'Добавление владельца';
Add_form.SetBounds(Add_form.Left, Add_form.Top, 272, 163);
Add_form.P_vladelec.SetBounds(0,0,265,129);
Add_form.V_familiya.Text := '';
Add_form.V_name.Text := '';
Add_form.V_otchestvo.Text := '';
Add_form.V_lgota.Text := '';
Add_form.P_vladelec.Visible := True;
end;
If Dbg.DataSource.DataSet = Telefons then begin
Add_form.Caption := 'Добавление номера телефона';
Add_form.SetBounds(Add_form.Left, Add_form.Top, 272, 103);
Add_form.P_telefon.SetBounds(0,0,265,69);
Add_form.T_number.Text := '';
Add_form.P_telefon.Visible := True;
end;
If Dbg.DataSource.DataSet = Settings then begin
Add_form.Caption := 'Добавление установки телефона';
Add_form.SetBounds(Add_form.Left, Add_form.Top, 272, 171);
Add_form.P_settings.SetBounds(0,0,265,137);
Add_form.S_date.Date := Date;
Add_form.S_type.Text := '';
Add_form.CB_number.Items.Clear;
Telefons.First;
While not Telefons.Eof do begin
Add_form.CB_number.Items.Add(Telefons.FieldByName('Number').AsString);
Telefons.Next;
end;
Add_form.CB_vladelec.Items.Clear;
Vladeles.First;
While not Vladeles.Eof do begin
Add_form.CB_vladelec.Items.Add(Vladeles.FieldByName('Familiya').AsString);
Vladeles.Next;
end;
Add_form.CB_number.Text := '';
Add_form.CB_vladelec.Text := '';
Add_form.P_settings.Visible := True;
end;
Add_form.Show;
end;
procedure TATC.DBGDblClick(Sender: TObject);
begin
If (DBG.DataSource.DataSet = Vladeles) Then Begin
Add_form.Caption := 'Изменение владельца';
Add_form.SetBounds(add_form.Left,add_form.Top,272,163);