Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Bazy danych 1

Informacje ogólne

Kod przedmiotu: 103B-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: 4.00 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.
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

BD

Numer wersji:

2

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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).
  6. 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).
  7. 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
  8. 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.
  9. 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
  1. Projektowanie baz danych: zaprojektowanie za pomocą narzędzia CASE struktury bazy danych dla prostego systemu informacyjnego i zdefiniowanie jej implementacji relacyjnej.
  2. 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
  3. Programowanie aplikacji po stronie serwera: opracowanie pakietu procedur wbudowanych w bazę danych (w tym również procedur wyzwalanych zdarzeniami), realizujących zadane operacje.
  4. Podstawy optymalizacji zapytań: zbadanie przebiegu wykonania zapytań w zależności od zdefiniowanych ścieżek dostępu i postaci zapytań.


Przedmioty podobne
Kod przedmiotuNazwa przedmiotuDyskonto ECTS
103A-CSCSN-ISA-EDABAData Bases5
103A-CSCSN-ISA-EDABAData Bases4
103C-TLTZT-ISP-WBDWprowadzenie do baz danych5
103C-TLTZT-ISP-WBDWprowadzenie do baz danych4

Literatura:

    1. C.J. Date, Wprowadzenie do systemu baz danych, WNT, Warszawa 2000.
    2. J.D. Vilman, J.D. Widom, Podstawowy wykład z systemów baz danych, WNT, Warszawa 2001.
    3. H. Rybiński, M. Muraszkiewicz, Relacyjne bazy danych
    4. Elmasri, Ramez, Navathe, Shamkant, Fundamentals of database systems, Aodison-Wesley, 2000.
    .

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. zimowy" (zakończony)

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Jarosław Chudziak, Agnieszka Szmurło
Prowadzący grup: Jarosław Chudziak, Piotr Maciąg, Agnieszka Szmurło
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (zakończony)

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 128 miejsc więcej informacji
Wykład, 30 godzin, 128 miejsc więcej informacji
Koordynatorzy: Jarosław Chudziak, Agnieszka Szmurło
Prowadzący grup: Jarosław Chudziak, Adam Kozłowski, Piotr Maciąg, Agnieszka Szmurło, Piotr Wąsiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. zimowy" (zakończony)

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Jarosław Chudziak
Prowadzący grup: Jarosław Chudziak, Adam Kozłowski, Michał Rudowski, Piotr Wąsiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 128 miejsc więcej informacji
Wykład, 30 godzin, 128 miejsc więcej informacji
Koordynatorzy: Jarosław Chudziak
Prowadzący grup: Jarosław Chudziak, Adam Kozłowski, Piotr Maciąg, Grzegorz Protaziuk, Agnieszka Szmurło
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. zimowy" (zakończony)

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin, 80 miejsc więcej informacji
Wykład, 30 godzin, 80 miejsc więcej informacji
Koordynatorzy: Jarosław Chudziak, Michał Rudowski
Prowadzący grup: Jarosław Chudziak, Adam Kozłowski, Michał Rudowski, Agnieszka Szmurło, Piotr Wąsiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103200 - Instytut Informatyki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)