Bazy Danych – projekt Temat: Broń średniowieczna Celem

Transkrypt

Bazy Danych – projekt Temat: Broń średniowieczna Celem
Bazy Danych – projekt: Broń średniowieczna
OPIS
Bazy Danych – projekt
Temat: Broń średniowieczna
Celem dokumentowanego projektu jest utworzenie możliwie najbardziej kompleksowej bazy danych o broni średniowiecznej.
Opis konkretnego przedmiotu wraz z jego obszarem i okresem występowania jest ważny dla jego dokładnej identyfikacji. Dzięki odniesieniu do określonego użytkownika łatwo można później rozwinąć bazę o charakterystykę społeczeństwa danej epoki.
Wszystko to jest kluczowe dla rekonstrukcji historycznych, więc baza będzie bardzo przydatna w bractwie rycerskim, jednak można ją wykorzystać również do innych celów – np.:
● klasyfikacji zasobów muzealnych
● właściwego doboru ekwipunku w grze RPG
● przy tworzeniu opowiadania lub powieści w realiach średniowiecznych
2 VI 2008r. Dagny Schaedler EPI gr. II
Bazy Danych – projekt: Broń średniowieczna
model konceptualny – Diagram ER
2 VI 2008r. Dagny Schaedler EPI gr. II
Bazy Danych – projekt: Broń średniowieczna
model relacyjny – Diagram RMBench
2 VI 2008r. Dagny Schaedler EPI gr. II
Bazy Danych – projekt: Broń średniowieczna
CREATE TABLE broń(nazwa VARCHAR(100) NOT NULL, typ VARCHAR(100), materiał_wykonania VARCHAR(100) NOT NULL, kraj_pochodzenia VARCHAR(100), długość INTEGER, pociski VARCHAR(100), zasięg INTEGER, lufa VARCHAR(100), ręczność VARCHAR(100), sieczność VARCHAR(100), rękojeść VARCHAR(100), klinga VARCHAR(100), trzonek VARCHAR(100), głowica VARCHAR(100), drzewce VARCHAR(100), żeleźce VARCHAR(100), mocowanie VARCHAR(100), wysokość INTEGER, szerokość INTEGER, przód VARCHAR(100), dzwon VARCHAR(100), obszar_występowania VARCHAR(200), część_ciała_nazwa VARCHAR(100), PRIMARY KEY(nazwa), FOREIGN KEY(część_ciała_nazwa) REFERENCES część_ciała(nazwa) ON DELETE RESTRICT ON UPDATE CASCADE ) ENGINE=INNODB; CREATE TABLE użytkownik(nazwa VARCHAR(100) NOT NULL, status_społeczny VARCHAR(100), PRIMARY KEY(nazwa) ) ENGINE=INNODB; model relacyjny – postać tekstowa
zależności funkcyjne i wielowartościowe:
nazwa → typ, materiał_wykonania, kraj_pochodzenia, długość, pociski, zasięg, lufa, ręczność, sieczność, rękojeść, klinga, trzonek, głowica, drzewce, żeleźce, mocowanie, wysokość, szerokość, przód, dzwon, obszar_występowania, część_ciała_nazwa nazwa → status_społeczny
CREATE TABLE część_ciała(nazwa VARCHAR(100) NOT NULL, PRIMARY KEY(nazwa) ) ENGINE=INNODB; CREATE TABLE użytkownik_broń(broń_nazwa VARCHAR(100) NOT NULL, użytkownik_nazwa VARCHAR(100) NOT NULL, od INTEGER, broń_nazwa, użytkownik_nazwa → od, do
do INTEGER, PRIMARY KEY(broń_nazwa, użytkownik_nazwa), FOREIGN KEY(broń_nazwa) REFERENCES broń(nazwa) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY(użytkownik_nazwa) REFERENCES użytkownik(nazwa) ON DELETE RESTRICT ON UPDATE CASCADE ) ENGINE=INNODB;
2 VI 2008r. Dagny Schaedler EPI gr. II