Kod przedmiotu: |
103A-INxxx-ISP-BD |
Kod Erasmus / ISCED: |
(brak danych)
/
(brak danych)
|
Nazwa przedmiotu: |
Bazy danych 1 |
Jednostka: |
Wydział Elektroniki i Technik Informacyjnych |
Grupy: |
( Podstawy informatyki )-Informatyka-inż.-EITI
( Przedmioty podstawowe )-Systemy informacyjno-decyzyjne-mgr.-EITI
( Przedmioty techniczne )---EITI
|
Punkty ECTS i inne: |
(brak)
Podstawowe informacje o zasadach przyporządkowania punktów ECTS: - roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
- tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
- 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
- tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
- nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
zobacz reguły punktacji
|
Język prowadzenia: |
polski
|
Jednostka decyzyjna: |
103000 - Wydział Elektroniki i Technik Informacyjnych
|
Kod wydziałowy: |
BD
|
Numer wersji: |
1
|
Skrócony opis: |
Kurs jest wprowadzeniem do technologii baz danych. Tematyka wykładu obejmuje problematykę modelowania danych, metodykę projektowania i implementacji relacyjnych baz danych (podstawowe zagadnienia), podstawy programowania aplikacji do baz danych i wybrane zagadnienia z zakresu zarządzania bazami danych. Relacyjny model danych jest omawiany zarówno od strony podstaw teoretycznych, jak i od strony praktycznych problemów implementacyjnych. W zakresie programowania aplikacji. Wykład zawiera wprowadzenie do języka SQL oraz omówienie technik konstruowania modułów programowych po stronie serwera i po stronie klienta. Ćwiczenia projektowe polegają na skonstruowaniu prostej bazy danych wraz z programem użytkowym - z wykorzystaniem narzędzi do projektowania i konstruowania baz danych i aplikacji.
|
Pełny opis: |
Kurs jest wprowadzeniem do technologii baz danych. Tematyka wykładu obejmuje problematykę modelowania danych, metodykę projektowania i implementacji relacyjnych baz danych (podstawowe zagadnienia), podstawy programowania aplikacji do baz danych i wybrane zagadnienia z zakresu zarządzania bazami danych. Relacyjny model danych jest omawiany zarówno od strony podstaw teoretycznych, jak i od strony praktycznych problemów implementacyjnych. W zakresie programowania aplikacji. Wykład zawiera wprowadzenie do języka SQL oraz omówienie technik konstruowania modułów programowych po stronie serwera i po stronie klienta. Ćwiczenia projektowe polegają na skonstruowaniu prostej bazy danych wraz z programem użytkowym - z wykorzystaniem narzędzi do projektowania i konstruowania baz danych i aplikacji.
Treść wykładu
- Baza danych, system zarządzania bazami danych, system bazy danych.Podstawowe własności bazy danych jako zorganizowanego zbioru danych. Dane a informacja: baza danych jako "magazyn informacji". Semantyka danych: obiekty rzeczywistego świata, atrybuty, związki, rekordy b.d. jako reprezentacja faktów. Rola SZBD. Interfejs użytkowy systemu bazy danych. Abstrakcyjny widok b.d. prezentowany na poziomie użytkowym. Model trójpoziomowy. Przegląd podstawowych zadań SZBD.
- Modele danych.Pojęcie modelu danych. Wstępna charakterystyka modelu relacyjnego, porównanie z modelami "przedrelacyjnymi": struktury danych i operacje widziane na poziomie użytkowym. Główne cechy modelu obiektowego. Modele danych w kontekście historii techlogii b.d.
- Model relacyjny w ujęciu nieformalnym. Własności tabeli jako implementacyjnej struktury danych w modelu relacyjnym. Dwa wymiary agregacji,przypisanie dziedzin wartości kolumnom, podstawowe operacje na tabelach, język operacji na tabelach jako język typu "set-at-a-time". Identyfikacja wierszy przez zawartość: pojecie klucza. Reprezentacja związków: pojęcie klucza obcego. Konfiguracja klas związków, min. i maks.krotność uczestnictwa (cardinality). Semantyczne warunki poprawności (Integrity constraints) dotyczące kluczy i kluczy obcych.
- Wprowadzenie do projektowania baz danych. Model ER. Zasady opisu struktury bazy danych w kategoriach klas encji i klas związków. Podstawowe decyzje projektowe na poziomie konceptualnym (przekształcenie klas związków do klas encji, problem atrybutów wielowartościowych, klasy encji o identyfikacji zewnętrznej, problem atrybutów opcjonalnych, itd. Zasady normalizacji (ujęcie nieformalne). Odwzorowanie do modelu relacyjnego. Specyfikacja struktury b.d. w DDL. Definiowanie dziedzin i semantycznych warunków poprawności. Opis struktury b.d. w słowniku danych.
- Język SQL.Konstrukcje DML. Konstrukcje DQL: wyrażenie SELECT jako specyfikacja sekwencji operacji na tabelach. Sładnia i semantyka podstawowych postaci wyrażenia SELECT, pojęciowa kolejność przetwarzania sekcji (klauzul). Wyrażenia akceptowalne w poszczególnych klauzulach. Konstrukcje wielopoziomowe: podzapytania skorelowane i nieskorelowane. Zasady formułowania zapytań w postaci wyrażeń SELECT: postacie równoważne. Semantya deklaratywna i semantyka proceduralna wyrażeń SELECT. Logika trójwartościowa w SQL: problem "wartości brakujących", anomalie związane ze znacznikiem NULL. Tabele wirtualne (tzw. perspektywy), dopuszczlne operacje na tabelach wirtualnych. Specyfikowanie złożonych warunków poprawności (frazy CHECK z podzapytaniami).
- Zarys matematycznych podstaw modelu relacyjnego. Relacja jako matematyczny model zbioru rekordów. Relacja, zmienna relacyjna, schemat relacji. Warunki poprawności w ujęciu formalnym. Przegląd operatorów algebry relacyjnej (z rozszerzeniem Date`a).
- Programowanie aplikacji do baz danych - wprowadzenie. Konstruowanie i programowanie aplikacji po stronie klienta. Poziom wywołań procedur API (CLI, ODBC...) - krótka charakterystyka. Poziom Embedded SQL: przekazywanie danych z/do programu użytkowego, kursory. Poziom wyspecjalizowanych klas obiektów w środowiskach do konstruowania aplikacji-porównanie (SQL* Forms, Visual, Basic, Delphi, Power Builder...). Programowanie aplikacji po stronie serwera. Rozszerzenia proceduralne SQL. Konstrukcja procedur wbudowanych, procedury wyzwalane zdarzeniami
- Ochrona spójności baz danych. Podstawowe problemy spójności bazy danych. Pojęcie transakcji. Mechanizmy zarządzaniam transakcjami w SZBD. Mechanizmy zarządzania współbieżnym dostępem do b.d.
- Wprowadzenie do organizacji fizycznej relacyjnych baz danych. Fizyczne rozmieszczenie tabel w pamięci zewnętrznej. Podział na bloki, adresowanie bloków. Rozwiązania organizacyjne i mechanizmy usprawniające dostęp do danych. Organizacja indeksów. Zasady korzystania z mechanizmów dostępu, podstawy optymalizajci zapytań.
Zakres projektu
- Projektowanie baz danych: zaprojektowanie za pomocą narzędzia CASE struktury bazy danych dla prostego systemu informacyjnego i zdefiniowanie jej implementacji relacyjnej.
- Programowanie aplikacji klienckich do baz danych: opracowanie poleceń w języku SQL realizujących zadane operacje na bazie danych i wbudowanie ich w prosty interakcyjny program użytkowy skonstruowany w środowisku narzędzia do budowy aplikacji
- Programowanie aplikacji po stronie serwera: opracowanie pakietu procedur wbudowanych w bazę danych (w tym również procedur wyzwalanych zdarzeniami), realizujących zadane operacje.
- Podstawy optymalizacji zapytań: zbadanie przebiegu wykonania zapytań w zależności od zdefiniowanych ścieżek dostępu i postaci zapytań.
Przedmioty podobne
|
Literatura: |
- C.J. Date, Wprowadzenie do systemu baz danych, WNT, Warszawa 2000.
- J.D. Vilman, J.D. Widom, Podstawowy wykład z systemów baz danych, WNT, Warszawa 2001.
- H. Rybiński, M. Muraszkiewicz, Relacyjne bazy danych
- Elmasri, Ramez, Navathe, Shamkant, Fundamentals of database systems, Aodison-Wesley, 2000.
.
|