LABORATORIUM
BAZY DANYCH
SQL
I
Dariusz Jankowski
2009-10-04
1. Relacyjny model danych
Relacyjna baza danych jest to zbiór dwuwymiarowych tabel. Z modelem relacyjnym powiązane są
następujące pojęcia:
" tabela,
" kolumna,
" wiersz,
" pole.
Model relacyjny opiera się na pojęciach zaczerpniętych z algebry. Pojęcia te to:
" relacja,
" operator działający na relacjach i dający w wyniku relacje.
Relacje przedstawiane są w postaci tabel, zaś wybieranie danych z tabel to wynik działania
operatorów relacyjnych na tych tabelach.
Operatory relacyjne
Wyróżniamy następujące operatory relacyjne:
SELEKCJA pobieranie danych z relacji, w wyniku otrzymujemy
wszystkie wiersze, które spełniają zadany warunek
PROJEKCJA operacja pobrania wszystkich wierszy, ale tylko wskazanych
kolumn z tych wierszy
ILOCZYN KARTEZJACSKI wynik połączenia każdy z każdym wierszy z dwóch relacji
ZACZENIE połączenie dwóch relacji poprzez pewne kryterium łączace
niektóre wiersze z obu relacji
SUMA ZBIOROWA wszystkie wiersze z obu relacji
CZŚĆ WSPÓLNA wiersze wspólne dla obu relacji
RÓŻNICA ZBIOROWA wiersze, które występują w jednej, a nie występują w drugiej
relacji
Własności relacyjnej bazy danych
Relacyjna baza danych ma następujące własności:
" baza jest widziana przez użytkownika jako zbiór tabel,
" nazwy tabel w bazie muszą być unikalne,
" tabele składają się wierszy i kolumn,
Dariusz Jankowski
2009-10-04
" językiem służącym do operowania na bazie danych jest język nieproceduralny oparty na
algebrze relacji. Obecnie standardem jest SQL.
Tabele w relacyjnej bazie danych mają następujące własności:
" wiersze w tabeli muszą być różne,
" w tabeli nie ma kolumn o tej samej nazwie,
" kolejność wierszy jest nieokreślona,
" kolejność kolumn jest nieokreślona,
" wartości pól powinny być elementarne.
2. Podstawy SQL a
Poniższe zadania pokrywają następujące tematy:
1. Wyszukiwanie danych w różnych tabelach
2. Opisywanie struktur tabel
3. Wykonywanie operacji arytmetycznych oraz specyfikowanie nazw kolumn
4. Limitowanie oraz sortowanie danych
5. Funkcje SQL
[Część 1] Wymagana wiedza nt.:
- DESC[RIBE],
- SELECT, SELECT *, SELECT DISTINCT, SELECT & WHERE
- Wyrażenia arytmetyczne: - + / *
- Definiowanie aliasów kolumn
- Operator konkatenacji: ( || )
- Stosowanie podst. warunkowych zapytań: <,>,=,<>,<=,>=
- Stosowanie pozostałych warunkowych zapytań: BEETWEN & AND & , IN (set), LIKE,
IS NULL
- Warunki logiczne: AND, OR, NOT
- Klauzula: ORDER BY
[Część 2] Wymagana wiedza nt.:
- Funkcje SQL: LOWER, UPPER, INITCAP, CONCAT, SUBSTR, LENGTH, INSTR,
LPAD | RPAD, TRIM, REPLACE oraz ROUND, TRUNC, MOD oraz NVL, NVL2,
NULLIF, COALESCE oraz DECODE, CASE
- Praca z datami i czasem:
SYSDATE,MONTHS_BETWEEN,ADD_MONTHS,NEXT_DAY,LAST_DAY,ROUND,
TRUNC
- Funkcje konwersji: TO_CHAR, TO_DATE, TO_NUMBER
Dariusz Jankowski
2009-10-04
3. Zawartość tabel wykorzystywanych na kursie
4. Zadania do wykonania
[Część 1]
2. The following SELECT statement executes successfully:
SELECT *
FROM jobs;
True/False
4. Show the structure of the DEPARTMENTS table. Select all data from the table.
6.Run your query lab1_numerindeksu.sql and than delete the query.
8. Copy the statement from lab1_nr_indeksu.sql into the Edit window. Name the column
headings Emp #, Employee, Job, and Hire Date, respectively. Run your query again.
10. Show last name and salary for each employee concatenated with a string
: 1 Month salary = to give the returned rows more meaning.
12. Create a query to display the employee last name and department number for employee number
176.
14. Display the employee last name, job ID, and start date of employees hired between February 20,
Dariusz Jankowski
2009-10-04
1998, and May 1, 1998. Order the query in ascending order by start date.
16. list the last name and salary of employees who earn between $5,000 and $12,000, and are in department
20 or 50. Label the columns Employee and Monthly Salary, respectively.
18. Display the last name and job title of all employees who do not have a manager.
20. Display the last names of all employees where the third letter of the name is an a.
22. Display the last name, job, and salary for all employees whose job is sales representative or stock
clerk and whose salary is not equal to $2,500, $3,500, or $7,000.
[Część 2]
2.For each employee, display the employee ID number, last_name, salary, and salary increased by 15%
and expressed as a whole number. Label the column New Salary.
4. Write a query that displays the employee s last names with the first letter capitalized and all other letters
lowercase and the length of the names, for all employees whose name starts with J, A, or M.
6. Display the last name, hire date, and day of the week on which the employee started. Label
the column DAY. Order the results by the day of the week starting with Monday.
Dariusz Jankowski
2009-10-04
Wyszukiwarka
Podobne podstrony:
Jezyk SQL podstawy zapytanBazyDanych SQL podstawyPodstawy baz danych zajecia 2 z SQL Tabela Bibliotekakurs oracle podstawy sqlpodstawy sqlPodstawy Jezyka SQLbd ii cw1 podstawy jezyka sqlPodstawy baz danych zajecia 3 z sqlPodstawy baz danych sql 19 11Podstawy baz danych 12 11 SQLSQL Server 2005 Programowanie od podstawZajęcia 1 Podstawy SQL 18 podstawy jezyka SQL cz 1Podstawy języka SQL materiały szkoleniowePodstawy baz danych Zajecia 1 z SQL Tabela STUDENTZajęcia 2 Podstawy SQL 2więcej podobnych podstron