на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Нормализация таблиц в реляционной модели базы данных
2. Реляционная алгебра над учебной базой

R1 - список абитуриентов, сдававших репетиционные вступительные экзамены;

R2 - список абитуриентов, сдававших вступительные экзамены на общих основаниях;

R3 - список абитуриентов, принятых в институт.

Необходимо написать ответ на запрос в виде формулы реляционной алгебры. Запрос: “Список абитуриентов, которые поступали два раза и поступили в вуз".

Таблица 2.1 - Отношение R1

Обозначение записи

ФИО абитуриента

Номер и серия паспорта

№ Школы

a

Жилкова О.А.

32 05 4237

№ 31

b

Богач Д.О.

34 07 4385

№ 42

с

Конопелько О.П.

37 08 4282

№ 56

d

Кочкина Т.В.

38 02 3458

№ 52

e

Докучаев Ю.А.

58 02 3718

№ 62

f

Богданова Ю.В.

38 72 4290

№ 48

g

Сидорова С.И.

39 52 4870

№ 45

h

Сидоров А.А.

38 59 3295

№ 46

l

Тарабрина Л.В.

40 58 2598

№ 49

Таблица 2.2 - Отношение R2

Обозначение записи

ФИО абитуриента

Номер и серия паспорта

№ Школы

a

Жилкова О.А.

32 05 4237

№ 31

b

Богач Д.О.

34 07 4385

№ 42

d

Кочкина Т.В.

38 02 3458

№ 52

h

Сидоров А.А.

38 59 3295

№ 46

m

Тарабрин В.В.

35 92 4058

№48

n

Голоушкина В.А.

38 92 4259

№ 52

o

Токарева М.А.

39 98 4085

№ 46

p

Круглова Т.Ю.

32 58 3498

№ 47

Таблица 2.3 - Отношение R3

Обозначение записи

ФИО абитуриента

Номер и серия паспорта

№ Школы

a

Жилкова О.А.

32 05 4237

№ 31

b

Богач Д.О.

34 07 4385

№ 42

d

Кочкина Т.В.

38 02 3458

№ 52

h

Сидоров А.А.

38 59 3295

№ 46

p

Круглова Т.Ю.

32 58 3498

№ 47

с

Конопелько О.П.

37 08 4282

№ 56

Операция реляционной алгебры - “пересечение".

R1 (a,b,c,d,e,f,g,h,l) R2 (a,b,d,h,m,n,o,p) =R3 (a,b,d,h)

3. База данных для предметной области “Учебные пособия"

Ненормализованное представление информации в виде схемы.

Приведение к третьей нормальной форме.

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

Таблица “Дисциплины" - номер дисциплины, наименование дисциплины, количество часов;

Таблица “Пособия” - номер пособия, ФИО автора, Номер дисциплины;

Таблица “Специальности” - номер специальности, наименование специальности;

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

Таблица “Дисциплины" - номер дисциплины;

Таблица “Пособия” - номер пособия;

Таблица “Специальности” - номер специальности.

третья нормальная форма - столбцы, не являющиеся ключевыми, зависят от первичного ключа таблицы и не зависят от всех остальных столбцов. Для связывания таблиц “Дисциплины" и “Специальности” необходимо создать дополнительную таблицу “Дисциплины-Специальности".

Таблица “Дисциплины-Специальности" - номер дисциплины, номер специальности.

Данные таблиц.

Таблица 3.1 - Таблица “Дисциплины”

Номер дисциплины

Наименование дисциплины

Количество часов

1

Информатик

132

2

Экономика

180

3

Базы данных

72

4

Основы бухгалтерского учета

86

5

Основы программирования

92

6

Теория вероятностей и математическая статистика

146

7

Мировая экономика

112

8

Компьютерные сети

98

Таблица 3.2 - Таблица “Пособия”

Номер пособия

ФИО автора

Номер дисциплины

1

Джон Вейкас

3

2

Роджер Дженнингс

3

3

Вирджиния Андерсон

1

4

Попов А.А.

1

5

Булатов А.С.

2

6

Бендина Н.В.

4

7

Видяпин В.И.

2

8

Дурович А.П.

4

9

Коуров Л.В.

1

10

Кашанин Т.В.

7

11

Гмурман В.Е.

6

12

Кенин А.М.

8

13

Питер Эйткен

5

14

Подбельский В.В.

5

15

Вендров А.М.

7

16

Рапаков Г.Г.

8

17

Якушева Г.В.

6

18

Комягина В.Б.

4

19

Бердиченко Е.В.

7

Таблица 3.3 - Таблица “Специальности”

Номер дисциплины

Наименование дисциплины

101170

Прикладная информатика в экономике

220135

Программное обеспечение ВТ и АС

11370

Бухгалтерский учет

13568

Экономическая теория

73809

Администрирование компьютерных сетей

Таблица 3.4 - Таблица “Дисциплины - Специальности"

Номер специальности

Номер дисциплины

101170

1

101170

5

101170

6

101170

2

101170

7

220135

1

220135

5

220135

6

220135

3

11370

1

11370

4

11370

2

13568

2

13568

6

13568

7

13568

1

73809

3

73809

5

73809

8

Создание таблиц. Для создания запросов выбрана СУБД ACCESS.

CREATE дисциплины (number integer,

name_disz varchar (100),

hour integer);

CREATE пособия (number integer,

author varchar (100),

diszipl integer);

CREATE специальности (number varchar (10),

name_spez varchar (100));

CREATE дисциплины_специальности (number_spez varchar (100),

number_disz integer).

Заполнение таблиц данными. Для примера показаны вставки по одной записи.

INSERT INTO дисциплины (number, name_disz, hour) VALUES (1, “Информатика”, 132);

INSERT INTO специальности (number, name_spez) VALUES (“101170", “Прикладная информатика в экономике”);

INSERT INTO пособия (number, autor, diszipl) VALUES (1, “Джон Вейкас”, 3);

INSERT INTO дисциплины_специальности (number_spez, number_disz) VALUES (“101170”, 1)

Запрос1 - Для номера специальности “220135" вывести наименование этой специальности, наименования дисциплин для этой специальности, у которых количество часов больше 90 и меньше 140, а также авторов пособий для этих дисциплин.

SELECT специальности. number AS "Номер специальности",

специальности. name_spez AS "Специальность",

дисциплины. name_disz AS "Дисциплина",

дисциплины. hour AS "Количество часов",

пособия. author AS "Автор пособия"

FROM специальности, дисциплины, пособия,

дисциплины_специальности

WHERE дисциплины_специальности. number_disz=дисциплины. number And

дисциплины_специальности. number_spez=специальности. number And

пособия. diszipl=дисциплины. number And

специальности. number="220135" And

дисциплины. hour Between 90 And 140

ORDER BY дисциплины. name_disz, пособия. author;

Запрос 2 - Вывести для каждой специальности номер специальности, наименование специальности, количество дисциплин для каждой специальности, у которых количество часов больше 90 и меньше 150.

SELECT специальности. number AS "Номер специальности",

специальности. name_spez AS "Специальность",

COUNT (дисциплины_специальности. number_disz) AS "Количество

дисциплин"

FROM специальности, дисциплины_специальности, дисциплины

WHERE дисциплины_специальности. number_spez=специальности. number

And дисциплины_специальности. number_disz=дисциплины. number

And дисциплины. hour Between 90 And 150

GROUP BY специальности. number, специальности. name_spez

ORDER BY специальности. name_spez;

Литература

1. Базы данных: теория и практика: Учебник для вузов/ Б.Я. Советов., В.В. Цехановский, В.Д. Черотовской. - М.: Высш. шк., 2005. - 463 с. ил.

2. Вейскас Д. эффективная работа с Microsoft Access 97 - СПб: ЗАО “Издательство “Питер””, 1999. - 976 с.: ил.

3. В.В. Корнеев, А.Ф. Гареев, С.В. Васютин, В.В. Райх. Базы данных. Интеллектуальная обработка информации. - М.: Издатель Момачева С.В., Издательство Нолидж, 2001. - 496 с., ил.

4. Дженнингс, Роджер. Использование Microsoft Access 2000. Специальное издание.: Пер. с англ.: Уч. пос. - М.: Издательский дом “Вильямс", 2000. - 1152 с.: ил. - Парал. тит. англ.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.