PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

Podobne dokumenty
Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Wykład 4. SQL praca z tabelami 1

Autor: Joanna Karwowska

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Bazy danych TERMINOLOGIA

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Bazy Danych egzamin 9 luty, 2012 rozwiazania

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Bazy danych - wykład wstępny

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Model relacyjny bazy danych

Wprowadzenie do baz danych

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Projekt bazy danych <Moja baza>

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

Technologia informacyjna

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Wykład I. Wprowadzenie do baz danych

Baza danych. Modele danych

Baza danych sql. 1. Wprowadzenie

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Systemy baz danych. mgr inż. Sylwia Glińska

Aspekty aktywne baz danych

Przykładowa baza danych BIBLIOTEKA

Praca w programie dodawanie pisma.

Podstawy technologii WWW

Microsoft Access materiały pomocnicze do ćwiczeń

PODSTAWOWE POJĘCIA BAZ DANYCH

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19

Szpieg 2.0 Instrukcja użytkownika

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

WPROWADZENIE DO BAZ DANYCH

UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa

Co to są relacyjne bazy danych?

2017/2018 WGGiOS AGH. LibreOffice Base

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

PRZEWODNIK PO PRZEDMIOCIE

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Etap 1 Projektowanie tabeli która będzie przechowywać informacje na temat książek.

OPRACOWANIE: SŁAWOMIR APANOWICZ

Ćwiczenie 8 Implementacja podpisu cyfrowego opartego na standardzie X.509

KARTA PRZEDMIOTU. Procedury składowane w bazach danych D1_11

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Fizyczna struktura bazy danych w SQL Serwerze

Pojęciowy model danych etap 1 (identyfikacja obiektów) Pojęciowy model danych etap 2A (powiązania obiektów)

Instrukcja instalacji i obsługi programu Szpieg 3

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3

Projektowanie Systemów Informacyjnych

Rozwiązanie. Uruchom program Access 2007.

1. Mapowanie diagramu klas na model relacyjny.

Egzaminowanie przez Internet założenia i realizacja systemu teleinformatycznego INSPEKTON Tomasz Popis, Bogdan Galwas OKNO - Politechnika Warszawska

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Wykład 8. SQL praca z tabelami 5

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Baza danych. Program: Access 2007

SZKOLENIE: Administrator baz danych. Cel szkolenia

Projektowanie systemów baz danych

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Przykłady normalizacji

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Bazy danych. Wykład III Tabele. Copyrights by Arkadiusz Rzucidło 1

11. Autoryzacja użytkowników

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Walidacja danych w ASP.NET MVC

Wykład 2. Relacyjny model danych

PRZEWODNIK PO PRZEDMIOCIE

Projekt Hurtownia, realizacja skojarzeń dostawców i produktów

Tworzenie aplikacji w języku Java

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Część I Rozpoczęcie pracy z usługami Reporting Services

Tworzenie aplikacji bazodanowych

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Opracowanie systemu monitorowania zmian cen na rynku nieruchomości

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Należy uruchomid program: Start-Wszystkie programy- Microsoft Office- Microsoft Office Access 2007

Projektowanie relacyjnych baz danych

Wprowadzenie do baz danych

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Nie przegrzewaj mózgu wrzuć dane do bazy!

Autor: Joanna Karwowska

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Podstawowe możliwości programu Spectro Market Faktura

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Cele. Definiowanie wyzwalaczy

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Transkrypt:

Prosta uczelnia (przykładowy projekt) Autor: Jan Kowalski nr indeksu: 123456

Opis problemu Projekt ten ma na celu stworzenie systemu do przechowywania i obróbki danych o wynikach egzaminacyjnych około 2345 studentów z 234 przedmiotów proponowanych na pięciu wydziałach uczelni X. Ze względu na interdyscyplinarny charakter studiów na uczelni X każdy student ma możliwość studiowania i bycia egzaminowanym z przedmiotów oferowanych przez różne wydziały. W związku z tym zaistniała konieczność stworzenia opisywanego systemu, gdyż powstałe do tej pory rozwiązania nie spełniają wymagań uczelni X. Projektowany system będzie umożliwiać dodawanie i modyfikowanie istniejących danych przy pomocy przyjaznej użytkownikowi aplikacji klienckiej działającej w środowisku wielostanowiskowym (maksymalnie dwa stanowiska). Dodatkowo w systemie zrealizowane będą pewne mechanizmy raportowania: statystyki wyników studentów i inne bardzo potrzebne do działania uczelni raporty. Przy realizacji projektu wykorzystany zostanie serwer SQL Microsoft SQL Server Express Edition 2005, a aplikacja kliencka oparta będzie na architekturze Microsoft.NET Framework 2.0. (i tak dalej... ale nie za dużo... )

Diagram ER nazwisko adres punkty nazwa N N imie STUDENT EGZAMINY PRZEDMIOT nr_indeksu ocena data adres Typ jednostki STUDENT(nr indeksu, imie, nazwisko, adres): WYDZ_PRZED WYDZIAL nazwa nr indeksu atrybut kluczowy (klucz), łańcuch znakowy długości sześciu znaków 0-9, imie łańcuch znakowy długości 30 znaków, nie może zawierać wartości NULL, nazwisko łańcuch znakowy długości 30 znaków, nie może zawierać wartości NULL, adres łańcuch znakowy długości 30 znaków, może zawierać wartość NULL. Typ jednostki PRZEDMIOT(symbol, nazwa, punkty): symbol atrybut kluczowy (klucz), łańcuch znakowy długości trzech znaków A-Z, nazwa łańcuch znakowy długości 30 znaków, nie może zawierać wartości NULL, punkty liczba całkowita od 0 do 8, nie może zawierać wartości NULL. Typ jednostki WYDZIAL(id, nazwa, adres): id atrybut kluczowy (klucz), unikatowy identyfikator typu uniqueidentifier, nazwa łańcuch znakowy długości 30 znaków, nie może zawierać wartości NULL, adres łańcuch znakowy długości 30 znaków, może zawierać wartość NULL. Typy zdefiniowanych związków: symbol EGZAMIN(ocena, data) (jasne co reprezentuje ten związek; jeśli nie tu można coś napisać... ): ocena liczba rzeczywista ze zbioru {2, 3, 3.5, 4, 4.5, 5}, może zawierać wartość NULL, data może zawierać wartość NULL. WYDZ PRZED (jasne co reprezentuje ten związek; jeśli nie tu można coś napisać... ): brak własnych atrybutów. N 1 id

Reprezentacja tabelaryczna 1. STUDENCI(nr indeksu, imie, nazwisko, adres), 2. PRZEDMIOTY(symbol, nazwa, punkty, id wydzialu), (koniecznie zaznaczamy klucze obce!) 3. WYDZIALY(id, nazwa, adres), 4. EGZAMINY(nr indeksu, symbol, ocena, data) Ad. 1. Kluczem głównym jest: nr indeksu. Z założenia każdy nowy student otrzymuje kolejny nie zajęty numer indeksu. Jeżeli z niewiadomych przyczyn adres studenta nie jest znany w celu umożliwienia mu odebrania ewentualnej korespondencji adres ustawiany jest na domyślną wartość skrzynka w rektoracie. W tabeli STUDENCI istnieje predefiniowany student o imieniu Jan i nazwisku Kowalski oraz numerze indeksu 000000 student ten będzie automatycznie zapisywany na egzamin z każdego nowo utworzonego przedmiotu (jest to sztuczne założenie pozwalające zapewnić zgodność modelu ER z implementacją w momencie tworzenia nowego przedmiotu; można to oczywiście rozwiązać inaczej (patrz poniżej przykład tabeli WYDZIALY) jednak trzeba być świadomym tej możliwej rozbieżności). Student o indeksie 000000 nie będzie brany pod uwagę przy generowaniu jakichkolwiek raportów! Ad. 2. Kluczem głównym jest: symbol. Kluczem obcym jest: id wydzialu odpowiadający polu id w tabeli WYDZIALY. Z założenia każdy nowo utworzony przedmiot ma co najmniej dwa punkty jeśli nie zostanie to inaczej określone przy jego dodawaniu do bazy. Domyślnie na egzamin z każdego przedmiotu jest zapisany co najmniej jeden student (w najgorszym razie jest to student 000000). Nie zakładamy, żadnych odstępstw od określonego w modelu ER całkowitego uczestnictwa jednostki PRZEDMIOT w związku WYDZ PRZED, to znaczy nie dopuszczamy takiej sytuacji, aby przedmiot istniał bez wydziału! Ad. 3. Kluczem głównym jest: id. Zakładamy odstępstwo od modelu ER w tym sensie, że nowo utworzony wydział nie musi z początku oferować jakichkolwiek przedmiotów. Wydział taki nie będzie brany jednak pod uwagę w jakichkolwiek zestawieniach danych z bazy. Ad. 4. Kluczem głównym jest para: symbol, nr indeksu. Kluczami obcymi są: symbol odpowiadający polu symbol w tabeli PRZEDMIOTY oraz nr indeksu odpowiadający polu nr indeksu w tabeli STUDENCI.

Z założenia każdy student zapisany na egzamin z danego przedmiotu ma domyślnie w polu ocena wpisaną wartość NULLco oznacza, że nie zdawał jeszcze egzaminu, jak również w polu data znajduje się wartość NULLdo czasu przystąpienia do egzaminu.

Mechanizmy bazy danych W tym miejscu należy napisać jakie mechanizmy miałby się znaleźć w projektowanej bazie, na przykład: Dla każdej tabeli w bazie danych zostanie utworzona tabela jej odpowiadająca o nazwie {nazwa tabeli} historyczna, do której kopiowane będą usuwane dane z tabeli {nazwa tabeli}; każda taka tabela bedzie zawierała dodatkowo pole z datą wykonanai operacji wstawienia danej. Powstałe kopie danych nie będą powiązane ze sobą zaprojektowanymi więzami integralności (klucze główne, klucze obce, itd.). Sam mechanizm przenoszenia danych będzie zrealizowany przy pomocy właściwej procedury samowyzwalanej (trigger typu FORDELETE). (i tym podobne... co nie znaczy, że podczas implementacji projektu nie można dodać kolejnych bajeranckich mechanizmów)