1) Wyjaśnij, kiedy relacja jest w I postaci normalnej, a nie jest w II post. norm.
Kiedy posiada zależności funkcyjne od części klucza (tzn. podzbioru jakiegoś klucza kandydującego).
(Zawsze musi zawierać zależności od całego klucza. Może zawierać zależności między atrybutami niekluczowymi.
Dodać jakiś przykład "od siebie".)
2) Wyjaśnij, kiedy relacja jest w II postaci normalnej, a nie jest w III post. norm.
Kiedy zawiera zależności funkcyjne między atrybutami niekluczowymi. (Zawsze musi zawierać zależności funkcyjne od całego klucza.)
3) zlaczenie naturalne. Ile rekordow mozna otrzymac ze zlaczenia relacji o 4 i 2 krotkach?
Złączenie naturalne (JOIN) dwóch relacji A i B względem kolumn a i b jest zbiorem wszystkich możliwych kombinacji krotek (wierszy) należących do obu relacji, spełniających warunek równości wartości w obu kolumnach a i b, z wyłaczeniem kolumny b.
Aby oliczyć złączenie naturalne:
- wyznaczamy iloczyn kartezjański
- przeprowadzamy wybór krotek dla których a = b -realizujemu rzut (po naszemu: usuwamy kolumnę b) 4) Co to jest podzapytanie w SQL
Jest to podzapytanie bez średnika na końcu, ujęte w nawiasy, które może występować wewnątrz klauzuli WHERE, HAVING i FROM jako poprawny argument przy operatorach porównania =, <>, <, <=, >, >=i operatorach zawierania IN i NOT IN, a także predykatach EXISTS i NOT EXISTS w klauzuli WHERE.
Podzapytanie może być typu:
- zwykłego
SELECT Imie, Nazwisko, Pensja FROM Pracownicy WHERE Zarobki = (SELECT MAX(Zarobki) FROM Pracownicy);
- skorelowanego
SELECT A.Id_dzialu, A.Nazwisko, A.Zarobki FROM Pracownicy A WHERE A.Zarobki =
(SELECT MAX(B.Zarobki) FROM Pracownicy B WHERE B.Id_dzialu = A.Id_dzialu);
- skorelowanego z predykatem NOT EXISTS
SELECT Nazwa_dzialu FROM Dzialy WHERE NOT EXISTS
(SELECT Id_pracownika FROM Pracownicy Pr WHERE Pr.Id_dzialu = Dzialy.Id_dzialu);
- podzapytanie w klauzuli FROM
jest w skrypcie, nie chce mi sie przepisywac 5) zapytania grupujace w SQL-u
Wszystko jest w skrypcie, nie chce mi sie tu przepisywac...
6) FoxPro vs. Oracle
FoxPro Oracle
Postawowy jezyk (FoxBASE+) jest językiem trzeciej generacji. Jednoceśnie obsługuje również język czwartej generacji (SQL)
Podstawowy jezyk to SQL (deklaratywny)
Typy danych moga byc zlozone Z wykorzystania SQL wynika to, ze dane musza byc prostych typow
Typy danych: character, numeric, date, logical, memo Typy danyc: string (4 typy), numeric (6), datetime (3), interval (1). Nie ma zmiennych logicznych.
Trójwartościowa logika Dwuwartościowa logika
Użytkownik musi znać strukturę bazy danych Użytkownik nie musi znać struktury bazy danych (ułatwienie wynikające z wykorzystania SQL) 7) FoxPro vs. Access
FoxPro Access
Język proceduraclny Język deklaratywny (SQL) + proceduralny (VB)
Można tworzyć bardzo wiele rekordów Mniejsze możliwości co do ilości rekordów
Podstawowy język: dBase Podstawowy język: SQL
Wymaga większej wiedzy teoretycznej Łatwiejszy do opanowania dla początkującej osoby Typy danych: character, numeric, date, logical, memo Typy danyc: string (4 typy), numeric (6), datetime (3),
interval (1). Nie ma zmiennych logicznych.
Trójwartościowa logika Dwuwartościowa logika
8) jaka jest roznica miedzy SELECT w algebrze relaci a SELECT w jwzyku SQL
Algebra relacji SQL
Operuje na jednej tabeli Na dowolnej ilości tabel
W wyniku otrzymujemy relację wraz ze wszystkimi Otrzymujemy tylko wybrane kolumny z relacji wynikowej
kolumnami
Możemy odrzucać powtarzające się wiersze (DISTINCT) Możemy sortować (ORDER BY)
Możemy aliasować kolumny Itd....
9) PL/SQL: co to jest i do czego służy
Wszystko jest opisane na slajdach. Wystarczy przepisać.
10) Co to jest SQL*Plus i do czego służy
SQL*Plus is a command line SQL and PL/SQL language interface and reporting tool that ships with the Oracle Database Client and Server. It can be used interactively or driven from scripts. SQL*Plus is frequently used by DBAs and
Developers to interact with the Oracle database