Powt rzenie
This presentation is the property of its rightful owner.
Sponsored Links
1 / 63

POWTÓRZENIE PowerPoint PPT Presentation


  • 99 Views
  • Uploaded on
  • Presentation posted in: General

POWTÓRZENIE. Własności relacji; Klucz główny, klucz obcy; Integralność danych; Schemat relacyjnej bazy danych; Algebra relacji: - operacje unarne (selekcja, rzut); - operacje binarne (suma, różnica, przecięcie, złączenie); SQL: - formułowanie poleceń;

Download Presentation

POWTÓRZENIE

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Powt rzenie

POWTÓRZENIE

  • Własności relacji;

  • Klucz główny, klucz obcy;

  • Integralność danych;

  • Schemat relacyjnej bazy danych;

  • Algebra relacji:

  • - operacje unarne (selekcja, rzut);

  • - operacje binarne (suma, różnica, przecięcie, złączenie);

  • SQL:

  • - formułowanie poleceń;

  • - operowanie na danych: SELECT, INSERT, UPDATE, DELETE.


G wne elementy sk adni sql

Główne elementy składni SQL:

Zasady ogólne:

1)Język SQL nie rozróżnia małych i wielkich liter w słowachkluczowych i nazwach (baz danych, tabel, indeksów i kolumn); często dotyczy to też wartości napisowych (np. we wzorcach).

Legalne są nazwy zbudowane ze znaków alfanumerycznych, nie zaczynające się od cyfry (w MySQL jest to wprawdzie dozwolone, lecz nie zalecane).

Nie są dozwolone nazwy składające się wyłącznie z cyfr.

Nie należy w nazwach stosować znaków przestankowych "." i "@".


Powt rzenie

2)Każda komenda w MySQL kończy się średnikiem (;) i może składać się z wielu linii tekstu.

3)Wartości napisowe podaje się tak: "napis", lub tak: 'napis'.

Znaki "%" i "_" są metaznakami, służącymi do tworzenia wzorców do porównań; oznaczają odpowiednio dowolny ciąg znaków i dowolny jeden znak. Aby zostały przekazane dosłownie, należy je poprzedzać metaznakiem "\".

4)Wartości liczbowe z kropką dziesiętną lub w notacji wykładniczej (np. -32032.6809e+10).


Start mysql

Start MySQL

Okno startowe PuTTy


Start mysql1

Start MySQL

Zgłoszenie się serwera w trybie okna komend:


Powt rzenie

Help:


Zg oszenie si serwera w mysql administrator

Zgłoszenie się serwera w MySQL Administrator:


P o po czeniu z serwerem

Po połączeniu z serwerem:


B azy danych

Bazy danych:


W ybrana baza

Wybrana baza:


L ista indeks w

Lista indeksów:


L ista perspektyw

Lista perspektyw:


E dytor tabel

Edytor tabel:


P rzej cie do okna zapyta

Przejście do okna zapytań:


Wy wietlenie u ywanej wersji mysql i aktualnej daty

Wyświetlenie używanej wersji MySQL i aktualnej daty:

Równoważne zapisy:

mysql> SELECT VERSION(), CURRENT_DATE;

mysql> select version(), current_date;

mysql> SeLeCt vErSiOn(), current_DATE;


Wy wietlanie wersji i daty z czasem w osobnych tabelach

Wyświetlanie wersji i daty z czasem w osobnych tabelach:


Wpis komendy w wielu liniach

Wpis komendy w wielu liniach:

W celu wycofania wykonania komendy wstawiamy na końcu zapis \c:


Obliczenia

Obliczenia:

W celu wycofania wykonania komendy wstawiamy na końcu zapis \c:


Znaczenie znak w zach ty

Znaczenie znaków zachęty:


Komendy startowe i og lne

Komendy startowe i ogólne:

SHOWDATABASES [LIKE ‘wzorzec’]; – wyświetla listębaz danych [według wzorca]


Wy wietlanie ca ej listy baz danych

Wyświetlanie całej listy baz danych:


Podstawowe polecenia definicji danych sql

Podstawowe polecenia definicji danych SQL:

CREATE SCHEMADROP SCHEMA

CREATE DOMAINALTER DOMAINDROP DOMAIN

CREATE TABLEALTER TABLEDROP TABLE

CREATE VIEWDROP VIEW

CREATE CHARACTER SETDROP CHARACTER SET

CREATE COLLATIONDROP COLLATION

Wykorzystywane są one do tworzenia, modyfikacji oraz usuwania struktur tworzących schemat konceptualny.


Powt rzenie

W wielu SZBD istnieją także polecenia:

CREATE INDEXDROP INDEX

Chociaż standard SQL tego nie opisuje.

Według standardu ISO relacje i inne obiekty bazy danych istnieją w środowisku, które zawiera przynajmniej jeden katalog, a każdy katalog składa się ze zbioru schematów.

Schemat zaś to nazwa obejmująca zespół obiektów bazy danych (tabele, perspektywy, dziedziny, zestawienia), które są ze sobą w pewien sposób powiązane.

Standard pozostawia poszczególnym implementacjom realizację mechanizmu tworzenia i likwidowania katalogów.


Powt rzenie

Podaje jedynie polecenie definiowania schematu:

CREATE SCHEMA nazwa [AUTHORIZATION nazwa_właściciela]

Szczegóły dotyczące określenia zakresu uprawnień dla użytkowników schematu pozostają zależne od implementacji.

Polecenie usuwania schematu:

DROP SCHEMA nazwa [RESTRICTCASCADE]

Słowo RESTRICT oznacza, że schemat musi być pusty – w przeciwnym razie nie zostanie usunięty, zaś słowo CASCADE oznacza, że operacja kaskadowo usuwa wszystkie obiekty związane ze schematem.


T worzenie nowej bazy w mysql

Tworzenie nowej bazy w MySQL:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]nazwa_bazy

[[DEFAULT] CHARACTER SET charset_name

| [DEFAULT] COLLATE collation_name];

CREATE SCHEMA synonim CREATE DATABASE

Przy braku specyfikacji IF NOT EXISTS wystąpi błąd jeżeli baza danych o podanej nazwie istnieje.

Wszystkie opcje bazy danych są zapisywane w pliku db.opt, który znajduje się w katalogu bazy danych (np.C:\MySQL\data\biuro).

CHARACTER SET - wyszczególnia domyślny dla bazy danych zbiór znaków.

COLLATE - wyszczególnia domyślne dla bazy danych zestawienie.


Powt rzenie

Serwer MySQL może równocześnie zarządzać wieloma bazami danych (zbiorami tabel - database), każdą z nich identyfikuje jej nazwa i mogą one posiadać oddzielnie zdefiniowane prawa dostępu.

W danej chwili (w trakcie trwania połączenia z serwerem MySQL), jest jedna bieżąca baza danych, do której domyślnie odnoszą się komendy adresujące tabele.

Odniesienia do kolumn mogą być postaci:

nazwa_kolumny

[email protected]ych.nazwa_kolumny


Wy wietlanie zapisu tworzenia bazy

Wyświetlanie zapisu tworzenia bazy:

Inny sposób prezentacji wyniku:


Zbiory znak w i zestawienia w mysql

Zbiory znaków i zestawienia w MySQL:


Powt rzenie

cd:

Domyślną czcionką jest latin1, natomiast ustawienie domyślne to latin1_swedish_ci


Zestawienia

Zestawienia:


Zestawienia dla wybranych znak w

Zestawienia dla wybranych znaków:


W yb r u ywanej bazy

Wybór używanej bazy:

USE nazwa_bazy; – wybór bazy, która będzie wykorzystywana w MySQL

Równoważne polecenie:

CONNECT nazwa_bazy; – połączenie z bazą, która będzie wykorzystywana w MySQL


Modyfikacja bazy

Modyfikacja bazy:

ALTER {DATABASE | SCHEMA} [nazwa_bazy]

[[DEFAULT] CHARACTER SET charset_name

| [DEFAULT] COLLATE collation_name];

Nazwa bazy danych może być pominięta, jeżeli dotyczy domyślnej (używanej) bazy.

Zmiana nazwy bazy:

RENAME {DATABASE | SCHEMA} nazwa_bazy TO nowa_nazwa_bazy;

Dodane w MySQL 5.1.07 ale usunięte w MySQL 5.1.23


Usuwanie bazy

Usuwanie bazy:

DROP {DATABASE | SCHEMA} [IF EXISTS] nazwa_bazy;

CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMAwprowadzone od MySQL 5.0.2.


Kontrola dost pu

Kontrola dostępu:

Utworzenie nowego użytkownika:

CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'][, user [IDENTIFIED BY [PASSWORD] 'password']] ...

SET PASSWORD [FOR user] = PASSWORD('s_password')

RENAME USER old_user TO new_user [, old_user TO new_user] ...

DROP USER user [, user] ...


Nadawanie praw dost pu

Nadawanie praw dostępu:

GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...

ON [object_type]

{tbl_name | * | *.* | db_name.* | db_name.routine_name}

TO user [IDENTIFIED BY [PASSWORD] 'password']

[, user [IDENTIFIED BY [PASSWORD] 'password']] ...

[WITH with_option [with_option] ...];

Gdzie:

object_type = TABLE | FUNCTION | PROCEDURE

with_option = GRANT OPTION | MAX_QUERIES_PER_HOUR count

| MAX_UPDATES_PER_HOUR count

| MAX_CONNECTIONS_PER_HOUR count

| MAX_USER_CONNECTIONS count

priv_type dla tabeli = SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, GRANT OPTION, INDEX, ALTER, CREATE VIEW, SHOW VIEW

dla kolumn = SELECT, INSERT, UPDATE


Powt rzenie

GRANT SELECT ON biuro TO test;

GRANT ALL [PRIVILEGES] ON biuro.* TO test;

GRANT ALL PRIVILEGES ON *.* TO test;

Wyświetlanie praw dostępu:

SHOW GRANTS;

SHOW GRANTS FOR [email protected];

SHOW GRANTS FOR test;


Odbieranie praw dost pu innym u ytkownikom

Odbieranie praw dostępu innym użytkownikom:

REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...

ON [object_type] {tbl_name | * | *.* | db_name.*}

FROM user [, user] ...;

Odbieranie wszystkich praw dostępu:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...;


Definicja danych

Definicja danych:

Do utworzenia tabeli służy instrukcja CREATE TABLE, wymagająca podania nazwy tworzonej tabeli, nazwy każdej kolumny w tej tabeli, typu danych kolumn oraz maksymalnej długości danych w kolumnie.

Składnia polecenia:

CREATE TABLE nazwa_tabeli (

nazwa_kolumnytyp_danych[(długość)opcje],

nazwa_kolumny typ_danych[(długość) opcje,]

...)

[opcje_tabeli];

(nawiasami kwadratowymi obejmujemy elementy opcjonalne).


Powt rzenie

W MySQL większość typów danych ma domyślne lub ustalone długości (DATE, TIME, YEAR, ...) lub długości maksymalne (TEXT, BLOB, ...), parametr długości można więc często pominąć.

Opcje, które mogą wystąpić po określeniu typu i długości danych to np. NULL,

NOT NULL,

PRIMARY KEY,

UNIQUE,

DEFAULT wartość_domyślna.


Typy danych

Typy danych:

Standard ISO SQL (1992) przewiduje kilkanaście typów danych, podzielonych na grupy:

1.Typ logiczny: BOOLEAN

2.Typy znakowe: np. CHAR(N), VARCHAR(N)

3.Typ bitowy: BIT[(M)]

4.Typy liczbowe: dokładny np. INT, BIGINT, SMALLINT, DECIMAL lub przybliżony, np. FLOAT, DOUBLE PRECISION


Powt rzenie

3.Typy daty i godziny (Datetime): np. DATE, TIME, DATETIME, TIMESTAMP, YEAR

4.Typ przedziałowy: INTERVAL – opisujący przedział czasu

5.Typ znakowy i bitowy dużych obiektów o zmiennej długości odpowiednio TEXT i BLOB oraz ich odmiany (TINYTEXT, MEDIUMTEXT, LONGTEXT, TINYBLOB, MEDIUMBLOB, LONGBLOB) różniące się limitem długości (nie dopuszczają one dodatkowego określenia długości i przechowują informację o długości faktycznie wprowadzonych danych).

KolumnyBLOBi TEXTnie mogą posiadać wartości DEFAULT.


Powt rzenie

6.Innym częstym rozszerzeniem repertuaru typów są (np. w MySQL) ENUM i SET; są to typy napisowe przyjmujące jedną lub odpowiednio kilka spośród z góry określonych (w definicji typu kolumny) wartości, np.:

...

kolor ENUM('niebieski', 'biały', 'czarny') NOT NULL

...

Różnorodność dostępnych typów danych i możliwość określania długości należy wykorzystywać do optymalizowania definicji tabeli pod kątem zużycia miejsca i do kontroli integralności wprowadzanych (bądź wynikających z operacji na danych) wartości.


Typy danych w mysql

Typy danych w MySQL:


Wymagana pami dla typ w znakowych

Wymagana pamięć dla typów znakowych:


Powt rzenie

Od MySQL 4.0 maksymalna dopuszczalna długość kolumn LONGBLOBlub LONGTEXTzależy od skonfigurowanego maksymalnego rozmiaru pakietów w protokole klient/serwer i dostępnej pamięci.


Odmiany typ w liczbowych

Odmiany typów liczbowych:

TINYINT[(M)] [UNSIGNED] [ZEROFILL]

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]

FLOAT(p) [UNSIGNED] [ZEROFILL]

DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]

DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL]

REAL[(M,D)] [UNSIGNED] [ZEROFILL]


Wymagana pami dla typ w liczbowych

Wymagana pamięć dla typów liczbowych:


Wymagana pami dla typ w liczbowych cd

Wymagana pamięć dla typów liczbowych cd:


Wymagana pami dla typ w daty i czasu

Wymagana pamięć dla typów daty i czasu:


Odmiany typ w daty

Odmiany typów daty:

Typ DATEjest stosowany dla dat i zawiera pola 'YYYY-MM-DD' w zakresie od '1000-01-01' do '9999-12-31'. 

Typ DATETIMEjest stosowany dla dat z czasem i zawiera pola 'YYYY-MM-DD HH:MM:SS' w zakresie od '1000-01-01 00:00:00'do '9999-12-31 23:59:59'.  

Niewłaściwe wartości DATETIME, DATE, TIMESTAMP, TIME lub YEARsą zamieniane na ``zera'' odpowiednio:


Funkcje dotycz ce daty bie cej

Funkcje dotyczące daty bieżącej:

CURDATE() – podaje datę bieżącą w formatach: 'YYYY-MM-DD' lub YYYYMMDD

CURTIME() – podaje czas bieżący w formatach: 'HH:MM:SS'lub HHMMSS

w zależności od kontekstu użycia znakowym lub numerycznym:


Powt rzenie

UTC_DATE() – synonim CURDATE()

UTC_TIME() – synonim CURTIME()

CURRENT_TIMESTAMP i CURRENT_TIMESTAMP() sąsynonimami NOW()


  • Login