Проектирование базы данных из списка друзей и знакомых

Страницы работы

Содержание работы

Санкт-Петербургский Государственный Технический Университет

Факультет переподготовки специалистов

КУРСОВОЙ ПРОЕКТ

Дисциплина: Основы построения баз данных

Тема: Проектирование БД

                   Выполнил студент гр. I __________________ Бородин Г.В.

                  Руководитель ____________________ Дюдин М.В.

                                                                            "____" _________________ 2004 г.

Санкт-Петербург

2004

ВВЕДЕНИЕ

Вариант № 5.

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

a)  Все персоны разбиты на  группы по только Вам известным признакам (инженеры занимаются ремонтом, любят сыр и т.д.). Причем каждая персона может входить в несколько групп.

b)  Структура групп иерархическая (институт-кафедра-группа)

c)  Информация по персонам быстро накапливается, а Вы не хотите постоянно перестраивать БД, нужно позволить работать с произвольным числом полей.

d)  И еще не плохо бы записывать в журнал, что кому обещано,  и от кого чего ждать (отдать 100 рублей долга или не забыть забрать любимую дрель).

Подсказка, минимальная информация:

  • Базовая информация о персоне
  • Название группы
  • Название дополнительного поля
  • Номер, дата и содержимое записи в журнале

ЗАДАНИЕ

1.  Построить ER-диаграмму

2.  Составить переменные-отношения

3.  Составить запросы к БД

a.  Список персон по количеству телефонов отсортированный по убыванию

b.  Пары людей с одинаковыми телефонами

c.  Список должников с суммами

1.  ER-ДИАГРАММА

Овал: IDGUОвал: GNameОвал: EIFldОвал: IDPRОвал: IDEI#Овал: IDPRОвал: IDPRОвал: IDPRОвал: IDPRОвал: DateОвал: BkMarkОвал: IDBK#Овал: AddressОвал: IDAD#Овал: IDG#Овал: PhNumbОвал: IDPH#Овал: IDPR#Овал: Name

M

 

2.  ПЕРЕМЕННЫЕ-ОТНОШЕНИЯ

Персоны: PER

IDPR#

Name

Телефоны: PHN

IDPH#

IDPR

PhNumb

Дополнительная информация: EXINF

IDEI#

IDPR

EIFld

EIVal

Группы: GRP

IDG#

IDGU

IDPR

GName

Журнал: BOOK

IDBK#

IDPR

Date

BkMark

Адреса: ADRS

IDAD#

IDPR

Address

Связь: LPRGR

IDPR#

IDGR#

3. ЗАПРОСЫ К БД

a)  Список персон по количеству телефонов отсортированный по убыванию

SELECT PER.NAME, Count(PHN.IDPH)

FROM PER, PHN

WHERE PER.IDPR = PHN.IDPR

GROUP BY PER.NAME

ORDER BY Count(PHN.IDPH) DESC

b)  Пары людей с одинаковыми телефонами

SELECT PER.NAME, PER1.NAME, PHN.PhNumb

FROM PER, PER AS PER1, PHN, PHN AS PHN1

WHERE (PER.IDPR=PHN.IDPR)

AND (PER1.IDPR = PHN1.IDPR)

AND (PHN.PhNumb = PHN1.PhNumb)

c)  Список должников с суммами

SELECT PER.NAME, BkMark, DATE

FROM PER, LPRGR, GRP, BOOK

WHERE (PER.IDPR = LPRGR.IDPR)

AND (LPRGR.IDG = GRP.IDG)  

AND (GRP.Name LIKE %Должники%)

AND (BOOK.IDPR = PER.IDPR)

ORDER BY PER.NAME DESC

Похожие материалы

Информация о работе