Strona główna

Witaj!

Znajdziesz tu wiele interesujących informacji! (Strona jak narazie jest w budowie)

Ale będzie świetna!

Prace trwają!

Podsekcje z Strona główna

Bazy danych

Podsekcje z Bazy danych

Sprawdzian wprowadzenie SQL

Zagadnienia na sprawdzian

Funkcje baz danych

1) F. tesktowe, matematyczne i agregujące

Funkcje tesktowe - zwracają fragment lub zmieniony teskt

  • LEFT( exp, n ) oraz RIGHT( exp, n ) – to jedne z najprostszych funkcji tekstowych. Zwracają n znaków od lewej lub prawej z wyrażenia exp na którym działa.
  • CHARINDEX ( exp1 , exp2 , start_location ) – szuka pierwszego wystąpienia ciągu znaków exp1 w wartości znakowej podanej jako argument exp2. Rozpoczyna poszukiwania od pozycji 1 (jeśli nie jest podana) lub innej określonej przez start_location. Zwraca numer znaku w którym rozpoczyna się pierwsze wystąpienie poszukiwanego stringu.
  • UPPER (string) oraz LOWER(string) zamienia wszystkie litery na duże lub małe.
  • LEN( exp ) – funkcja zwraca wartość typu integer, równej liczbie znaków (długości) wyrażenia będącego jej argumentem.
  • SUBSTRING ( exp , start_location , n ) – zwraca fragment tekstu, liczbę n znaków z wyrażenia podanego w parametrze exp, startując od zadanego miejsca start_location.
  • RTRIM ( exp ) oraz LTRIM ( exp ) – obcięcie z prawej/lewej znaków spacji danego wyrażenia exp. Szczególnie często spotykane przy łączeniu stringów typu CHAR o stałej długości.
  • PATINDEX ( wzorzec, exp ) – wyszukiwanie pierwszego wystąpienia doapsowania maski – określonej wzorcem w danym wyrażeniu exp.
  • REPLACE ( exp , old_substring , new_substring ) – podmienia każde wystąpienie ciągu znaków old_substring na new_substring w przeszukiwanym wyrażeniu exp.
  • REVERSE ( exp ) – odbicie lustrzane stringu czyli ostatni będą pierwszymi.
  • STUFF ( exp1, start, n, exp2 ) –usuwa n znaków wyrażenia exp1 zaczynając od pozycji określonej parametrem start. Następnie wrzuca określony ciąg znakowy exp2 do wyrażenia exp1, również od pozycji określonej w start.

Funkcje matematyczne - zwracają zmodyfikowana wartość liczbową

  • ROUND ( wartość_liczbowa, precyzja ) – zaokrągla wartość liczbową, zmiennoprzecinkową do zadanej precyzji.
  • RAND () – funkcja pseudolosowa, zwraca liczbę typu float z zakresu 0-1.
  • FLOOR( liczba_ułamkowa ) – to zaokrąglenie dowolnej liczby zmiennoprzecinkowej w dół – biorąc pod uwagę jej wartość ułamkową.
  • CEILING( liczba_ułamkowa ) – zaokrągla zawsze do pełnej wartości w górę, niezależnie od wartości części po przecinku.
  • POWER (liczba, potęga) oraz SQRT(liczba) to funkcje potęgowania oraz pierwiastkowania (kwadratowego)

Funkcje agregujące - analizuje całą kolumnę lub wyrażenie bądź jej/jego fragment i zwraca oczekiwaną wartość

  • AVG( wyr ) - Oblicza średnią arytmetyczną zbioru wartości zawartych w określonym polu zapytania.
  • COUNT ( wyr ) - Oblicza liczbę rekordów zwróconych przez zapytanie.
  • FIRST ( wyr ) - Zwraca wartość pola z pierwszego rekordu w zestawie wyników zwracanym przez zapytanie.
  • LAST ( wyr ) - Zwraca wartość pola z ostatniego rekordu w zestawie wyników zwracanym przez zapytanie.
  • MIN ( wyr ) - Zwraca wartość minimalną zestawu wartości zawartych w określonym polu w zapytaniu.
  • MAX ( wyr ) - Zwraca wartość maksymalną zestawu wartości zawartych w określonym polu w zapytaniu.

2) F. tekstu - Te funkcje tworzą wartości tekstowe i manipulują nimi.

3) F. daty i czasu - przetwarzanie typów danych daty i czasu.

  • YEAR ( data ), MONTH ( data ), DAY ( data ) – dokonują ekstraktu z daty, odpowiednio roku, miesiąca oraz dnia.
  • DATEADD ( datepart, liczba, data ) – dodaje (lub odejmuje) liczbę jednostek daty/czasu.
  • DATEDIFF ( datepart, startdate, enddate ) – różnica pomiędzy dwiema datami, wyrażoną w jednostkach określonych przez datepart
  • DATEPART( datepart, data ) – wyciąga określoną parametrem datepart, jednostkę podanej daty.

4) F. sterowania przepływem danych i dostepem do nich. - zwracają wartości spełniący jakiś warunek:

  • IF(warunek, wartość zastepcza, wyr) - jeżeli warunek nie jest spełniony, zastępuje daną wartość wartością zastępczą
  • IFNULL(wyr , wartość zastepcza) - jeżeli wartość jest NULL’em, zastępuje daną wartość wartością zastępczą
  • NULLIF(wyr, wyr) – zwraca wartość „NULL”, gdy obydwa parametry mają tą samą wartość.
  • CASE – działa, jak wielokrotnie użyta instrukcja IF. Składnia:
CASE [wartosc_lub_wyrazenie]
 WHEN wartosc_1 THEN wynik_1
 [WHEN wartosc_2 THEN wynik_2]
 …
 [ELSE wynik_N]
END

Popularne serwery baz danych

  • SQL Server firmy Microsoft
  • Oracle Database firmy Oracle
  • MySQL — produkt powstały jako open source (MariaDB)
  • PostgreSQL — darmowy serwer baz danych powstały na Uniwersytecie Kalifornijskim
  • DB2 firmy IBM
  • InterBase firmy Borland
  • SQLite opensource

Zasady tworzenia nazw, identyfikatory baz danych

  • Unikalność: Każdy identyfikator powinien być unikalny w ramach tabeli, aby zapewnić jednoznaczne identyfikowanie każdego rekordu.
  • Niezmienność: Identyfikatory nie powinny się zmieniać przez cały cykl życia rekordu. Zapewnia to spójność danych w bazie.
  • Minimalizm: Identyfikatory powinny być jak najkrótsze, aby oszczędzać miejsce w bazie danych i przyspieszyć operacje wyszukiwania.
  • Autonumeracja: W przypadku stosowania identyfikatorów liczbowych, najlepiej jest korzystać z mechanizmów autonumeracji (AUTO_INCREMENT, SERIAL), które automatycznie przypisują unikalne wartości do nowych rekordów.
  • Bezprzyrostowość: Identyfikatory nie powinny zawierać informacji, które mogą się zmieniać w czasie (np. data, kolejny numer dnia itp.), ponieważ wprowadza to ryzyko duplikacji i złożoności.
  • Czytelność: Jeśli to możliwe, identyfikatory powinny być łatwe do odczytania i zrozumienia przez ludzi, zwłaszcza w przypadku systemów, gdzie ręczne wprowadzanie danych jest powszechne.
  • Standardowe prefiksy i sufiksy: W dużych bazach danych warto stosować standardowe prefiksy lub sufiksy, które ułatwiają identyfikację kontekstu danych. Na przykład, cust_ dla klientów (cust_12345).
  • Brak specjalnych znaków: Unikaj używania specjalnych znaków w identyfikatorach, takich jak @, #, ! itp. Najlepiej używać liter, cyfr i podkreśleń.
  • Przestrzeganie konwencji nazewnictwa: Identyfikatory powinny przestrzegać ustalonych konwencji nazewnictwa w organizacji, co ułatwia zrozumienie struktury bazy danych.

Podstawowe cechy języka sql

  • Deklaratywność SQL pozwala użytkownikom określić, co chcą osiągnąć (np. jakie dane pobrać), a nie jak to zrobić.
  • Standardowość SQL jest standardem w zarządzaniu relacyjnymi bazami danych, co oznacza, że wiele systemów baz danych obsługuje jego podstawowe składnie.
  • Obsługa danych SQL umożliwia tworzenie, modyfikowanie, usuwanie i pobieranie danych z baz danych.
  • Zarządzanie strukturą bazy danych umożliwia tworzenie i modyfikację struktur bazy danych, takich jak tabele i indeksy.
  • Bezpieczeństwo SQL pozwala na definiowanie uprawnień dostępu do danych.

Jakie zasady są realizowane przez odmiany sql / Karta pracy (ostatnio)

Główne kategorie składniowe SQL

1. Literały (Stałe)

2. Operatory

  • arymetnyczne
  • znakowe
  • logiczne
  • porównania
  • relacji

3. Słowa kluczowe

  • SELECT
  • DISTINCT
  • ORDER BY itp.

4. Komentarze (ignoruje)

5. Operator kontatencji/konkatynacja (łączenie znaków)

Części składnii SQL

  • SQL DDL (Data Definition Language - język definicji danych),
  • SQL DCL ( Data Control Language – język kontroli nad danymi),
  • SQL DML (Data Manipulation Language – język manipulacji danymi),
  • SQL DQL (Data Query Language – język definiowania zapytań).
  • SQL TCL.

zad 1.

Reprezentacja liczb:

  • stałoprzecinkowa: a) bez znaku b) ze znakiem
  • zmiennoprzecinkowa: a) pojedynczej precyzji b) podwójnej precyzji c) rozszerzonej precyzji

zad 2.

  • SELECT służy do wybierania wierszy i kolumn z jednej lub kilku tabel.
  • GRANT służy do nadawania uprawnień.
  • CREATE służy do tworzenia obiektów m.in tabel.
  • INSERT służy do dodawania nowych rekordów.

zad 3.

  • Język definiowania danych: CREATE, DROP
  • Język manipulowania danymi: DELETE, INSERT, UPDATE
  • Język kontrolowania danych: GRANT, REVOKE
  • Język zapytań: SELECT
  • Język sterowania przepływem danych: ROLLBACK, COMMIT

zad.4

SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY

zad.5

  1. Język zapytań
  2. Język definiowania danych
  3. Język manipulowania danymi
  4. Język kontrolowania danych

Test 31

zad 1.

Który operator wykonuje wybór kolumn - na wejściu przyjmuje nazwy kolumn, a na wyjściu zwraca ich wartości?

  • a) Selekcji
  • b) Projekcji
  • c) Złączania
  • d) Sumy

zad 2.

Polecenie SELECT należy do podgrupy

  • a) języka zapytań
  • b) języka manipulowania danymi
  • c) języka definiowanaia danych
  • d) języka kontrolowania danych

zad 3.

Zbiór dopuszczlanych wartości dla atrybutu jest nazywany:

  • a) bazą
  • b) tabelą
  • c) domeną
  • d) kluczem

zad 4.

Do przechowywania danych tekstowycg może byc wykorzystany typ danych

  • a) BOOL
  • b) INT
  • c) DATA
  • d) BLOB

zad 5.

Do reprezentowania wartości nieznanej wykorzystuje się

  • a) 0
  • b) NULL
  • c) NaN
  • d) false

Wprowadzenie SQL

1. W Jakim celu stosujemy argument NULL? (Wartość pustą)

Wartość null w relacyjnej bazie danych jest używana, gdy wartość w kolumnie jest nieznana lub brakuje jej.

2. Wymień zasady tworzenia identyfikatorów w bazie danych.

  • Unikalność: Każdy identyfikator powinien być unikalny w ramach tabeli, aby zapewnić jednoznaczne identyfikowanie każdego rekordu.
  • Niezmienność: Identyfikatory nie powinny się zmieniać przez cały cykl życia rekordu. Zapewnia to spójność danych w bazie.
  • Minimalizm: Identyfikatory powinny być jak najkrótsze, aby oszczędzać miejsce w bazie danych i przyspieszyć operacje wyszukiwania.
  • Autonumeracja: W przypadku stosowania identyfikatorów liczbowych, najlepiej jest korzystać z mechanizmów autonumeracji (AUTO_INCREMENT, SERIAL), które automatycznie przypisują unikalne wartości do nowych rekordów.
  • Bezprzyrostowość: Identyfikatory nie powinny zawierać informacji, które mogą się zmieniać w czasie (np. data, kolejny numer dnia itp.), ponieważ wprowadza to ryzyko duplikacji i złożoności.
  • Czytelność: Jeśli to możliwe, identyfikatory powinny być łatwe do odczytania i zrozumienia przez ludzi, zwłaszcza w przypadku systemów, gdzie ręczne wprowadzanie danych jest powszechne.
  • Standardowe prefiksy i sufiksy: W dużych bazach danych warto stosować standardowe prefiksy lub sufiksy, które ułatwiają identyfikację kontekstu danych. Na przykład, cust_ dla klientów (cust_12345).
  • Brak specjalnych znaków: Unikaj używania specjalnych znaków w identyfikatorach, takich jak @, #, ! itp. Najlepiej używać liter, cyfr i podkreśleń.
  • Przestrzeganie konwencji nazewnictwa: Identyfikatory powinny przestrzegać ustalonych konwencji nazewnictwa w organizacji, co ułatwia zrozumienie struktury bazy danych.

3. Czym są konwencję w nazewnictwie obiektów bazy danych?

Konwencje w nazewnictwie obiektów bazy danych to zasady i wytyczne, które pomagają utrzymać spójność i czytelność kodu oraz struktur baz danych. Stosowanie konwencji ułatwia pracę zespołową, zrozumienie kodu oraz minimalizuje ryzyko błędów.

Nazewnictwo tabel:

Tabele często są nazwane rzeczownikami w liczbie mnogiej (np. customers, orders).

Unikaj używania spacji i znaków specjalnych. Zamiast tego używaj podkreśleń (_) lub wielkich liter (CamelCase).

Nazewnictwo kolumn:

Kolumny zazwyczaj są nazwane rzeczownikami w liczbie pojedynczej (np. first_name, email).

Staraj się unikać skrótów i używaj pełnych nazw dla jasności.

Nazewnictwo indeksów:

Indeksy często zawierają nazwę tabeli i kolumny, których dotyczą (np. idx_customers_last_name).

Nazewnictwo kluczy głównych (Primary Keys):

Klucze główne są często nazwane jako id lub tablename_id (np. customer_id).

Nazewnictwo kluczy obcych (Foreign Keys):

Klucze obce zazwyczaj odnoszą się do kolumny klucza głównego innej tabeli (np. customer_id w tabeli orders).

Nazewnictwo widoków (Views):

Widoki często zawierają przedrostek view_ lub vw_ (np. view_customer_orders).

Nazewnictwo procedur składowanych (Stored Procedures):

Procedury składowane często mają przedrostki opisujące ich funkcję, takie jak sp_ dla procedur, fn_ dla funkcji (np. sp_update_customer).

Nazewnictwo kolumn logicznych:

Kolumny logiczne (boolean) zazwyczaj mają nazwy sugerujące pytania, np. is_active, has_access.

4. Co to jest domena?

W kontekście baz danych, pojęcie domeny odnosi się do zestawu możliwych wartości, które mogą być przechowywane w określonym atrybucie (kolumnie) tabeli bazy danych. Domena definiuje typ danych i wszelkie ograniczenia, które są stosowane do danych w tej kolumnie. np. Typ danych, zakres wartości itp.

5. Opisz typy danych geometrycznych.

  • GEOMETRY: Jest to ogólny typ danych geometrycznych, który może przechowywać dowolny rodzaj geometrii, taki jak punkt, linia, wielokąt itp.
  • POINT: Reprezentuje pojedynczy punkt w przestrzeni, definiowany przez współrzędne (X, Y). W niektórych przypadkach może również zawierać wartość Z dla wysokości.
  • LINESTRING: Reprezentuje linię składającą się z jednej lub więcej sekwencji punktów.
  • POLYGON: Reprezentuje powierzchnię zewnętrzną, określoną przez zamknięty obwód. Może zawierać dziury wewnętrzne (wewnętrzne obwody).
  • MULTIPOINT: Jest to zbiór wielu punktów.
  • MULTILINESTRING: Jest to zbiór wielu linii (LINESTRING).
  • MULTIPOLYGON: Jest to zbiór wielu wielokątów (POLYGON).
  • GEOMETRYCOLLECTION: Reprezentuje kolekcję różnych typów geometrii (POINT, LINESTRING, POLYGON itp.).
  • GEOGRAPHY: Uzwględnienie przechyleń ziemi.

Główne kategorie składniowe SQL

1. Literały (Stałe)

2. Operatory

  • arymetnyczne
  • znakowe
  • logiczne
  • porównania
  • relacji

3. Słowa kluczowe

  • SELECT
  • DISTINCT
  • ORDER BY itp.

4. Komentarze (ignoruje)

5. Operator kontatencji/konkatynacja (łączenie znaków)

Części składnii SQL

  • SQL DDL (Data Definition Language - język definicji danych),
  • SQL DCL ( Data Control Language – język kontroli nad danymi),
  • SQL DML (Data Manipulation Language – język manipulacji danymi),
  • SQL DQL (Data Query Language – język definiowania zapytań).
  • SQL TCL.

zad 1.

Reprezentacja liczb:

  • stałoprzecinkowa: a) bez znaku b) ze znakiem
  • zmiennoprzecinkowa: a) pojedynczej precyzji b) podwójnej precyzji c) rozszerzonej precyzji

zad 2.

  • SELECT służy do wybierania wierszy i kolumn z jednej lub kilku tabel.
  • GRANT służy do nadawania uprawnień.
  • CREATE służy do tworzenia obiektów m.in tabel.
  • INSERT służy do dodawania nowych rekordów.

zad 3.

  • Język definiowania danych: CREATE, DROP
  • Język manipulowania danymi: DELETE, INSERT, UPDATE
  • Język kontrolowania danych: GRANT, REVOKE
  • Język zapytań: SELECT
  • Język sterowania przepływem danych: ROLLBACK, COMMIT

zad.4

SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY

zad.5

  1. Język zapytań
  2. Język definiowania danych
  3. Język manipulowania danymi
  4. Język kontrolowania danych

Zagadnienia na sprawdzian

  • Funkcje baz danych
  • Popularne serwery baz danych
  • Zasady tworzenia nazw, identyfikatory baz danych
  • Podstawowe cechy języka sql
  • Karta pracy (ostatnio)
  • Jakie zasady są realizowane przez odmiany sql

Test 31

zad 1.

Który operator wykonuje wybór kolumn - na wejściu przyjmuje nazwy kolumn, a na wyjściu zwraca ich wartości?

  • a) Selekcji
  • b) Projekcji
  • c) Złączania
  • d) Sumy

zad 2.

Polecenie SELECT należy do podgrupy

  • a) języka zapytań
  • b) języka manipulowania danymi
  • c) języka definiowanaia danych
  • d) języka kontrolowania danych

zad 3.

Zbiór dopuszczlanych wartości dla atrybutu jest nazywany:

  • a) bazą
  • b) tabelą
  • c) domeną
  • d) kluczem

zad 4.

Do przechowywania danych tekstowycg może byc wykorzystany typ danych

  • a) BOOL
  • b) INT
  • c) DATA
  • d) BLOB

zad 5.

Do reprezentowania wartości nieznanej wykorzystuje się

  • a) 0
  • b) NULL
  • c) NaN
  • d) false

Typy danych

Typy danych

a) Typ znakowy - przechowuje teskt lub znaki

  • CHAR (do 255 znaków)
  • VARCHAR (do 65 535 znaków)
  • TINYTEXT (do 255 znaków)
  • TEXT (do 65 535 znaków)
  • MEDIUMTEXT (do 16 777 215 znaków)
  • LONGTEXT (do 4 294 967 295 znaków)

b) Typ numeryczny - przechowuje liczby całkowite

  • TINYINT (całkowite od 0 do 255 lub -127 do 27)
  • SMALLINT (całkowite od 0 do 65 535 lub od -32 768 do 32 768)
  • MEDIUMINT (całkowite od 0 do 16 777 215 lub od -8 388 608 do 8 388 608)
  • INT (całkowite od 0 do 4 294 967 295 lub od 2 147 483 647 do -2 147 483 647)
  • BIGINT (całkowite, ośmiobajtowa wartość ())
  • NUMERIC

c) Typ zmiennoprzecinkowy - przechowuje liczby zmienno przecinkowe

  • FLOAT (zmiennoprzecinkowe (4 bajty) od -1.402823466E+38 do -1.175494351E-38, 0 i 1.175494351E-38 do 3.402823466E+38)
  • DOUBLE (zmiennoprzecinkowe (8 bajtów) -1.7976931348623157E+308 do -2.2250738585072014E-308, 0, i 2.2250738585072014E-308 do 1.7976931348623157E+308)
  • DECIMAL (DOUBLE z możliwością zapisu szesnastkowego)
  • REAL

d) Typ daty i czasu - przechowuje datę i czas

  • DATE (data bez czasu)
  • DATETIME (data i czas)
  • TIMESTAMP (EPOCH time, czas UNIX, od 1970-01-01 00:00:00, przepełnienie w 2037r.)
  • TIME (czas od -838:59:59 do 838:59:59)
  • YEAR (rok od 1901 do 2155)
  • INTERVAL (czas np. 1 godzina)

e) Binarne

  • BINARY
  • VARBINRY

f) Waluty/walutowe (nie ma w MySQL)

  • MONEY (od -922,337,203,685,477.5808 do 922,337,203,685,477.5807)
  • SMALLMONEY (od -214,748.3648 do 214,748.3647)

g) Specialne

  • ENUM(’elem1′, ’elem2′, …) (Kolumna łańcuchowa, która może zawierać jedną z wartości wymienionych na liście wartości w definicji tej kolumny)
  • SET(’elem1′, ’elem2′, …) (Kolumna łańcuchowa, która może zawierać dowolną liczbę wartości spośród wartości występujących na liście w definicji tej kolumny)
  • TEXT
  • BIT
  • SET
  • IMAGE

h) Typ danych geometrycznych - opisują figury geometryczne i przestrzenne

  • GEOMETRY: Jest to ogólny typ danych geometrycznych, który może przechowywać dowolny rodzaj geometrii, taki jak punkt, linia, wielokąt itp.
  • POINT: Reprezentuje pojedynczy punkt w przestrzeni, definiowany przez współrzędne (X, Y). W niektórych przypadkach może również zawierać wartość Z dla wysokości.
  • LINESTRING: Reprezentuje linię składającą się z jednej lub więcej sekwencji punktów.
  • POLYGON: Reprezentuje powierzchnię zewnętrzną, określoną przez zamknięty obwód. Może zawierać dziury wewnętrzne (wewnętrzne obwody).
  • MULTIPOINT: Jest to zbiór wielu punktów.
  • MULTILINESTRING: Jest to zbiór wielu linii (LINESTRING).
  • MULTIPOLYGON: Jest to zbiór wielu wielokątów (POLYGON).
  • GEOMETRYCOLLECTION: Reprezentuje kolekcję różnych typów geometrii (POINT, LINESTRING, POLYGON itp.).
  • GEOGRAPHY: Uzwględnienie przechyleń ziemi.

i) Typ wyliczeniowy - przechowuje jedną wartość z wcześniej zdefiniowanej listy

  • ENUM

j) Tablice - przechowują listę innych zmiennych tego samego typu.

k) Wartość nieznana - wartość która jset nieznana, pusta komórka

  • NULL

Cechy relacyjnej bazy danych

Cechy relacyjnej bazy danych

  • trwałość danych (oznacza możliwość przechowywania danych w pamięci masowej (trwałej) komputera)
  • integralność danych (Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.)
  • bezpieczeństwo danych ( zestaw środków, praktyk i procedur, który ma zapewniać dostępność i przede wszystkim – poufność danych znajdujących się w bazach)
  • współdzielenie danych (oznacza, że istnieje możliwość równoczesnej pracy wielu użytkowników z tą samą bazą danych)
  • abstrakcja danych (dane opisują tylko istotne aspekty obiektów świata rzeczywistego )
  • niezależność danych (informacje z bazą danych są niezależne od przechowywania danych na dysku i szczegółów reprezentacji danych na dysku)
  • integracja danych (proces łączenia danych z kilku różnych źródeł w celu zapewnienia użytkownikom jednego, ujednoliconego widoku)

Normalizacja tabel

Normalizacja tabel

Normalizację stosuje się, aby sprawdzić, czy zaprojektowane tabele mają prawidłową strukturę. Proces normalizacji rozpoczynamy, gdy zostanie utworzony wstępny projekt tabel. Pozwala ona określić, czy informacje przewidziane w projekcie bazy zostały przydzielone do właściwych tabel. Natomiast nie da odpowiedzi na pytanie, czy projekt bazy danych jest prawidłowy.

Korzyści płynące z normalizacji tabel są następujące:

  • zlikwidowanie problemu powtarzania danych,
  • optymalizacja objętości bazy danych,
  • optymalizacja efektywności obsługi bazy danych,
  • minimalizacja zagrożenia błędami przy wprowadzaniu danych.

Normalizacja bazy danych wymaga rozbicia dużych tabel na mniejsze. Zmniejsza to wydajność bazy, dlatego w niektórych przypadkach nie normalizuje się tabel — szczególnie w systemach niekorzystających z modelu relacyjnego.

Stosowane są cztery reguły normalizacji, ale w większości projektów baz danych wystarczy sprawdzić trzy pierwsze. Zostaną one omówione poniżej.

Dla każdej z nich stosowane są określenia: pierwsza postać normalna (I PN), druga postać normalna (II PN) i trzecia postać normalna (III PN).

Pierwsza postać normalna

DEFINICJA Tabela jest w pierwszej postaci normalnej (I PN), gdy każdy wiersz w tabeli przechowuje informacje o pojedynczym obiekcie, a każde pole tabeli zawiera informację elementarną (atomową).

Oznacza to, że w komórce tabeli nie może wystąpić lista wartości, na przykład w polu Narodowość autora nie można umieścić dwóch narodowości — polskiej i angielskiej Załóżmy, że w projektowanej bazie danych dla księgarni została zaprojektowana tabela Realizacja zamówień z. polami: Nazwisko klienta, Imię, Adres, Telefon, PESEL, Tytuł książki, Liczba egzemplarzy, Cena. W polu Tytuł książki będą umieszczane tytuły książek zakupionych przez klienta. Gdy klient kupi dwie książki, w polu Tytuł książki należałoby wpisać dwa tytuły. Powstałaby lista wartości (rysunek 1.30). Tak zaprojektowana tabela nie iest w I PN. Nie bedzie możliwe prawidłowe przetwarzanie danvch w dwóch wierszach. W pierwszym wierszu w polu Tytuł książki należy wpisać tytuł pierwszej książki, w drugim — tytuł drugiej książki, natomiast nazwisko klienta nie powtórzone w liczbie wierszy równej liczbie zakupionych książek.

Druga postać normalna

Ta reguła i następna służą do sprawdzenia, czy w tabeli i bazie danych nie doszłe redundancji, czyli niepotrzebnego powtarzania danych. Ponieważ II PN odnosi się do klucza podstawowego, należy określić ten klucz dla tabeli, Jeżeli klucz podstaw: składa się z jednego pola, tabela jest w II PN, ponieważ wszystkie pola, poza pc klucza podstawowego, muszą odnosić się do pola klucza podstawowego.

W zaprojektowanej tabeli Realizacja zamówień kluczem podstawowym będzie kor nacja pól Nazwisko klienta, Imię oraz Tytuł książki. Pola niewchodzące w skład kh podstawowego (Adres, Telefon, PESEL) zależą od pól Nazwisko i Imię, natomiast zależą od pola Tytuł książki. Pole Cena zależy jedynie od pola Tytuł książki (rysu 1.32). Tylko pole Liczba egzemplarzy zależy zarówno od pól Nazwisko i Imię, jak pola Tytuł książki, Tabela nie jest w II PN.

Normalizacja polega na podzieleniu tabeli na takie tabele, które spełnią warunek II PN, Tabelę Realizacja zamówień należy podzielić na trzy tabele: Klient, z polami Nazwisko, Imię, Adres, Telefon, PESEL; Zamówienia, z polami Nazwisko klienta, Tytuł książki, Liczba egzemplarzy; oraz Książki, z polami Tytuł książki i Cena (rysunek 1.33). Kluczem podstawowym w tabeli Klient są pola Nazwisko i Imię, w tabeli Zamówienia pola Nazwisko klienta i Tytuł książki, a w tabeli Książki pole Tytuł książki. Zostało zlikwidowane powtarzanie danych w tabeli Realizacja zamówień i wszystkie tabele są w II PN.

Trzecia postać normalna

DEFINICJA Tabela jest w trzeciej postaci normalnej (III PN), jeżeli jest w pierwszej i w drugiej postaci normalnej oraz każde z pól niewchodzących w skład klucza podstawowego niesie informację bezpośrednio o kluczu i nie odnosi się do żadnego innego pola

Załóżmy, że w projektowanej bazie danych dla księgarni została zaprojektowana tabela Faktura z polami: Nazwisko klienta, Imię, Adres, PESEL, Numer faktury, Sposób płatności wartości elementarne, czyli tabela jest w I PN. Klucz podstawowy to pole Numer fakt Wszystkie pola niewchodzące w skład klucza zależą od całego klucza, czyli tabela w. II PN. Sprawdźmy, czy tabela jest w III PN. Pola Sposób płatności i Data wystawi, śzktury odnoszą się do faktury, czyli zawierają informacje o kluczu. Natomiast pola A i PESEL zawierają informacje na temat klienta, a nie faktury (rysunek 1.34), czyli niosą informacji bezpośrednio o kluczu. Tabela nie jest w III PN.

Normalizacja, podobnie jak w przypadku II PN, polega na podzieleniu tabeli na t: tabele, które spełnią warunek II PN.

Tabelę Faktura należy podzielić na dwie tabele: Faktura (z polami Numer faktury, Sposób płatności i Data wystawienia faktury) oraz Klient (z polami Nazwisko klienta, Imię, Ac PESEL) (rysunek 1.35). Zostało zlikwidowane powtarzanie danych o kliencie w tabeli Faktura. Dane o kliencie będą zapisane tylko raz, w tabeli Klient.

Zagadnienia na sprawdzian ;)

ZAGADNIENIA NA SPRAWDZIAN

a) Korzystanie z komputerowych baz danych (gdzie można spotkać i jakie daje to korzyści)

Możemy je spotkać wszędzie tam gdzie zbiera się i analizuje dane np. w szkołach (e-dzienniki), bankach (transakcje) itp. Pozwalają na bezbolesną organizację oraz szybki dostęp danych.

b) Definicja bazy danych (nie zapomnieć o SZBD!!)

Narzędzie do organizowania zbioru danych, według określonych reguł. (System zarządzania bazami danych.)

c) Modele baz danych (wymień, opisz jednym zdaniem.)

Jednorodny Jest to model, w którym wszystkie dane są umieszczone w jednej tabeli.

Hierarchiczny W tym modelu przechowywane dane są zorganizowane w postaci drzewa.

Sieciowy Model sieciowy baz danych organizuje dane w formie grafu.

Relacyjno - obiektowy Łączy cechy modelu relacyjnego i obiektowego.

Obiektowy To sposób przechowywania danych jako obiektów, które łączą dane i operacje na nich.

Rozproszona baza danych To baza, której dane są przechowywane na wielu serwerach, ale użytkownicy widzą ją jako jedną całość.

Relacyjny Model relacyjny to sposob przechowywania danych w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty). Tabele mogą być ze sobą powiązane za pomocą kluczy, co pozwala na rozpowszechnianie informacji.

d) Relacyjny model bazy danych

Model relacyjny to sposob przechowywania danych w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty). Tabele mogą być ze sobą powiązane za pomocą kluczy, co pozwala na rozpowszechnianie informacji. Cechy:

  • trwałość danych (oznacza możliwość przechowywania danych w pamięci masowej (trwałej) komputera)
  • integralność danych (Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.)
  • bezpieczeństwo danych ( zestaw środków, praktyk i procedur, który ma zapewniać dostępność i przede wszystkim – poufność danych znajdujących się w bazach)
  • współdzielenie danych (oznacza, że istnieje możliwość równoczesnej pracy wielu użytkowników z tą samą bazą danych)
  • abstrakcja danych (dane opisują tylko istotne aspekty obiektów świata rzeczywistego )
  • niezależność danych (informacje z bazą danych są niezależne od przechowywania danych na dysku i szczegółów reprezentacji danych na dysku)
  • integracja danych (proces łączenia danych z kilku różnych źródeł w celu zapewnienia użytkownikom jednego, ujednoliconego widoku)

e) Definicja klucza podstawowego

Inaczej klucz główny - wybrany minimalny zestaw atrybutów relacji, jednoznacznie identyfikujący każdy rekord tej relacji. To oznacza, że taki klucz musi przyjmować wyłącznie wartości niepowtarzalne i nie może być wartością pustą (null). Ponadto każda relacja może mieć najwyżej jeden klucz główny.

f) Typy relacji w bazach danych (1:1, 1:N, N:N)

g) Pojęcie encji oraz atrybutu encji oraz przykład

Encja (ang. Entity) – jest pojedynczym, możliwym do zidentyfikowania, oddzielnym obiektem. Encja to obiekt, który posiada atrybuty, opisujące go. Encja może mieć przypisane również metody lub funkcje. Encje z takimi samymi właściwościami tworzą zbiór encji. Z pojęciem encji można się spotkać przy temacie baz danych, gdzie encja to nic innego jak reprezentacja obiektu.

h) Do czego służą diagramy ERD i o czym należy pamiętać.

Diagram związków encji (zwany również diagramem ERD) pokazuje, jak encje (osoby, obiekty i koncepcje) wchodzą w interakcje. Te koncepcyjne modele danych pomagają programistom i projektantom wizualizować związki między kluczowymi elementami oprogramowania. Należy pamiętać o określeniu encji, ich atrybutów oraz relacji.

i) Na czym polega normalizacja tabel. (tylko wprowadzenie)

Są to działania mające na celu sprawdzić czy zaprojektowane tabee mają prawidłową strukturę. Eliminuje się przy tym powielanie danych oraz minimalizuje ryzyko błędów przy wprowadzaniu danych. Rozbija się tabele na mniejsze.

j) Co to jest integralność i jakie rodzaje mamy

Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.

Integralność semantyczna - polega na utrzymaniu ograniczeń nakładach na dane np. w określonej kolumnie tabeli muszą znajdować sie wyłącznie dane zgodne z typem danych kolumny.

Integralność encji - wprowadza sie w trakcie definiowania schematu danych np. każda tabela ma posiadacz klucz główny.

Integralność referencyjna - polega na wprowadzeniu i utrzymaniu powiązań między tabelami.

Projekt bazy danych

Zadanie 1

Projektujesz bazę danych dla hurtowni elektronicznej. W tabeli zapisano proponowane atrybuty. Zostaw te atrybuty, które twoim zdaniem są potrzebne w takiej bazie danych.

  • adres e-email
  • imię
  • adres korespodecyjny
  • nazwisko
  • numer telefonu
  • NIP

Zadanie 2

Dopasuj atrybuty do odpowiednich encji.

Film

  • id_filmu
  • tytuł
  • czas trwania filmu
  • podobne filmy

Reżyser

  • id_reżysera
  • nazwisko reżysera
  • imię reżysera
  • poprzednie filmy

Aktor

  • id_aktora
  • imię aktora
  • nazwisko aktora
  • data urodzin aktora
  • filmy

Gatunek

  • id_gatunku
  • nazwa zespołu
  • opis gatunku

Karta pracy 2

Na rysunku przedstawiono diagram ER przykładowej bazy danych. Wykonaj analizę diagramu i poniższe zadania.

1. Wypisz nazwy pól, które pełnią rolę klucza głównego W poszczególnych tabelach.

Klient:

  • idklient

Zamowienie:

  • idzamowienie

ZamowienieStatus:

  • idzamowieniestatus

ZamowienieProdukt:

  • idzamowienieprodukt

Produkt:

  • idprodukt

2. Uzupełnij rysunek — nanieś liczności relacji między poszczególnymi tabelami.

Klient - Zamowienie: Jeden do jednego

ZamowienieProdukt - Produkt: Jeden do jeden

Zamowienie - ZamowienieProdukt: Jeden do jednego / Jeden do wielu

Zamowienie - ZamowienieStatus: Jeden do wielu

3. Zastanów się, czy dorysowałbyś jeszcze dodatkowe tabele do zaprezentowanego schematu? Jeżeli tak wypisz ich nazwy i w nawiasach określ niezbędne atrybuty.

ProducentProduktu (idproducent, producent, adres, telefon, email, NIP)

KategoriaProduktu (idkategoria, kategoria, opis)

Pracownik (idpracownik, imie, nazwisko, telefon)

Faktura / Paragon (iddowodu, nr dowodu)

Program lojalnościowy (iduczestnika, imie, nazwisko, telefon, email)

Test 20

  1. Strategia budowy modelu ER polekgająca na analizie problemu od ogółu do pojęć szczegółowych nosi nazwę:
  • bottom-up
  • burza mózgów
  • top-down
  • token ring
  1. Związki rekurencyjne wystepują wtedy gdy związek łączy
  • encję z samą sobą
  • jedną encję z drugą
  • jedną encję z kilkoma innymi
  • kilka encji z jedną relacją
  1. Relacja, w której jednemu rekordowi z tabeli A można przypisać jeden i tylko jeden rekord z tabeli B, to:
  • 1:N
  • N:N
  • N:M
  • 1:1
  1. Klucz kilkuelementowy to:
  • klucz elementarny
  • klucz złożony
  • klucz prosty
  • klucz obcy
  1. Zbiór wartości atrybutu nazywamy:
  • atrybutem
  • encją
  • dziedziną
  • relacją

Integralność

Integralność danych

1. Co to jest integralność danych?

Integralność (spojność) danych oznacza, że dane nie ulegają zmianom lub uszkodzeniu, a system działa bez manipulacji.

Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.

2. Jakie wyróżniamy rodzaje integralności?

  1. Integralność semantyczna - polega na utrzymaniu ograniczeń nakładach na dane np. w określonej kolumnie tabeli muszą znajdować sie wyłącznie dane zgodne z typem danych kolumny.
  2. Integralność encji - wprowadza sie w trakcie definiowania schematu danych np. każda tabela ma posiadacz klucz główny.
  3. Integralność referencyjna - polega na wprowadzeniu i utrzymaniu powiązań między tabelami.

3. Kiedy baza danych zachowuje swoją poprawność?

Wtedy kiedy 3 rodzaje integralności będą zachowane. Utrzymanie poprawności w obrębie sementycznym, encji, referencyjnym.

4. Czym różnią się ograniczenia integralnościowe statyczne od dynamicznych?

Szczególnym rodzajem ograniczeń, które można nałożyć na dane, są tzw. więzy integralności. Wyróżniamy:

  • ograniczenia integralnościowe statyczne odnoszą się do bierzacego stanu bazy danych. np. warunek aktualny teraz i w przyszłości – na przykład sprawdzenie reguły: „pensja pracownika jest większa niż zero”
  • więzy integralności dynamiczne to takie przeciwdziałają zmianom ponieważ związane są z przejściem bazy danych z jednego stanu w drugi (tymczasowe) – na przykład sprawdzenie reguły: „wiek pracownika nie może maleć”.

System zarządzania bazą danych

Funkcje systemu zarzadzania bazy danych

Wytłumacz pojęcia: dane, baza danych, system zarządzania bazą danych

  • Dane - informacje
  • Baza danych - Narzędzie do organizowania zbioru danych, według określonych reguł. (System zarządzania bazami danych.)
  • SZBD - oprogramowanie bądź system informatyczny służący do definiowania, towrzenia i zarządzania bazą danych przez użytkowmnika. Umożliwa dostęp do bazy danych również inny programom.

Co to jest CODASYL?

CODASYL (COnference on DAta SYstems Languages) - Konferencja ds Języków Systemów Baz Danych

Omów pojęcie niezależności danych

Programy wymieniające informacje z bazą danych są niezależne od przechowywania danych na dysku i szczegółów reprezentacji danych na dysku.Niezależność dotyczy również posługiwania się danymi.

Wymień wady SZBD

  • potrzeba z zapoznaniem się z obszerną dokumentacją
  • wymaga dużo przestrzeni dyskowej i zasobów pamięci operacyjnej

Na czym polega spójność danych

Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.

Modele baz danych

Modele baz danych

Co to jest Model bazy danych

Model bazy danych to zbiór zasad opisujących strukturę danych i dozwolone operacje w bazie danych.

Model danych składa się z:

  • Część strukturalna
  • Część manipulacyjna (kto i co można zrobić)
  • Reguły integralności

Modele baz danych:

Jednorodny

Jest to model, w którym wszystkie dane są umieszczone w jednej tabeli. Zaletami tego modelu jest łatwość i szybkość odczytywania danych, a wadami możliwość występowania dużej ilości duplikatów zwiększających zużycie zasobów maszyny. Przykładem takiego modelu jest książka telefoniczna. Zawiera ona dane ułożone w.g. nazwisk, więc gdybyśmy chcieli wyszukać nazwisko mając numer telefonu byłoby to trudne, gdyż książka telefoniczna nie jest przystosowana do szukania nazwisk po numerze telefonu.

Hierarchiczny

W tym modelu przechowywane dane są zorganizowane w postaci drzewa. Informacja jest zawarta w dokumentach oraz w strukturze drzewa. Zaletą takiej bazy danych jest duża szybkość działania, wadą – powstawanie nadmiarowych danych.

Sieciowy

Model sieciowy baz danych organizuje dane w formie grafu, gdzie rekordy mogą mieć wiele wzajemnych powiązań, umożliwiając bardziej złożone relacje niż w modelu hierarchicznym.

Relacyjno - obiektowy

Łączy cechy modelu relacyjnego i obiektowego, co pozwala na używanie tabel relacyjnych, ale z obsługą bardziej złożonych typów danych (obiektów), jak w programowaniu obiektowym. Zalety: Obsługa zaawansowanych typów danych (np. multimedia, struktury). Elastyczność obiektów przy zachowaniu prostoty relacyjnej. Wady: Większa złożoność niż w czystym modelu relacyjnym. Może być mniej wydajny przy dużych zbiorach danych niż model relacyjny.

Obiektowy

To sposób przechowywania danych jako obiektów, które łączą dane i operacje na nich. Używa klas, dziedziczenia, enkapsulacji i polimorfizmu, co pozwala na bardziej złożone struktury danych niż w tradycyjnych bazach relacyjnych.

Rozproszona baza danych

To baza, której dane są przechowywane na wielu serwerach, ale użytkownicy widzą ją jako jedną całość. Wykorzystuje replikację i fragmentację danych, by zapewnić skalowalność, dostępność i wydajność.

Relacyjny

Model relacyjny to sposob przechowywania danych w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty). Tabele mogą być ze sobą powiązane za pomocą kluczy, co pozwala na rozpowszechnianie informacji.

Zalety modelu relacyjnego to:

  • Prostota – dane są przechowywane w łatwych do zrozumienia tabelach.
  • Elastyczność – łatwo dodawać, modyfikować i usuwać dane bez wpływu na inne tabele.
  • Spójność danych – dzięki kluczom i ograniczeniom integralności dane są dokładne i zgodne.
  • Łatwość wyszukiwania – język SQL pozwala na szybkie tworzenie zapytań i analizowanie danych.
  • Skalowalność – model relacyjny dobrze radzi sobie z dużymi zbiorami danych.

Wady modelu relacyjnego to:

  • Złożoność przy dużych danych – przy bardzo dużych zbiorach danych lub skomplikowanych zapytaniach wydajność może spadać.
  • Słaba obsługa danych nieustrukturyzowanych – model relacyjny nie radzi sobie dobrze z danymi takimi jak multimedia czy teksty.
  • Złożoność relacji – w przypadku bardzo złożonych relacji między danymi, tworzenie i zarządzanie tabelami może stać się trudne.
  • Kosztowna skalowalność – skalowanie poziome (dodawanie kolejnych serwerów) bywa trudniejsze niż w przypadku innych modeli baz danych, np. NoSQL.

Zadanie 1

Tabela poniżej przedstawia prykładowy tygodniowy plan lekcji. Określ, jaki model danych reprezentuje, i opisz jego cechy charakterystyczne. Odpowiedź zapisz poniżej tabeli.

Nr lekcji Poniedziałek Wtorek Środa Czwartek Piątek
0 j. angielski e. dla bezp. WF SK
1 matematyka historia j.polski WF SK
2 montaż komp. biologia j.polski religia j. angielski
3 montaż komp. informatyka geografia matematyka j. polski
4 montaż komp. religia fizyka podst. przed. j. polski
5 BHP montaż komp. lekcja wych. matematyka
5 montaż komp.

Przedstawia model jednorodny - zawiera jedną tabelę. LUB model relacyjny, który przechowywuje dane w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty).

Pojęcie i właściwości bazy danych

Pojęcie bazy danych, właściwości baz danych

Co to jest baza danych?

Narzędzie do organizowania zbioru danych, według określonych reguł. (System zarządzania bazami danych.)

Wymień przykłady zastosowania baz danych.

  • Obsługa wpłat i wypłat w banku
  • Rezerwacja biletów lotniczych
  • Kartoteki pracowników (kadry i płace)
  • Księgowość
  • Wyszukiwarki informacji: Google, Amazon itp.
  • Poszukiwanie prawidłowości w danych
  • Multimedialne bazy danych: obrazy, muzyka, filmy
  • Edziennik

Wymień i krótko opisz cechy baz danych.

Baza danych powinna charakteryzować się następującymi cechami:

  • trwałość danych.
  • integralność danych.
  • bezpieczeństwo danych.
  • współdzielenie danych.
  • abstrakcja danych.
  • niezależność danych.
  • integracja danych.
  • normalizacja danych.

Jaka jest różnica między częścią intersjonalną a ekstensjonalną bazy danych?

Część intersjonalna określa jej strukturę (tabele itp.), a część ekstensjonalna określa jej zawartość (dane).

Zadania 2, 3, Test 19

Zadanie 2

Opis zbioru danych TAK NIE uzasadnienie
wiersz Jana Brzechwy NIE zbiór zawiera słowa, które mogą się powtarzać i nie są uporządkowane
książka telefoniczna TAK zbiór zawiera uporządkowane numeru telefonów (unikalne) i przypisane do nich adresy, nazwiska itp.
spis znajomych z Facebooka NIE zbiór zawiera nieuporządkowane i nie koniecznie unikalne imiona i nazwiska, które mogą się powtarzać
dziennik lekcyjny TAK zbiór zawiera uporządkowane numery dzienników (unikalne), imiona i nazwiska oraz przyporządkowane im oceny, obecności itp.
bilet autobusowy 24-godzinny NIE jest to pojedyncza informacja, a nie zbiór danych

Zadanie 3

Zdanie Prawda Fałsz
Jedną z cech charakterystycznych dla bazy danych jest zgodność ze standardami W3C. P
Integralność danych oznacza jej zgodność z rzeczywistością. P
Struktura bazy danych to przeniesienie na postać diagramu koncepcji układu tabel i powiązań między nimi. P
Model jednorodny przechowuje wszystkie dane w co najmniej dwóch tabelach. F
MS Access to serwer bazy danych SQL działający w systemie Windows. F
Każda baza danych musi mieć przynajmniej jedną tabelę. F
W 1985 roku E.F Codd przedstawił dwadzieścia zasad opisujących model relacyjny baz danych. F
Obiektowe bazy danych do przechowywania danych używają jednej tabeli. F
Jedną ze starszych aplikacji bazodanowych był program dBASE. P

TEST 19

1. Relacyjny model danych opracował:

  • Edgar F. Codd.
  • Steven Jobs.
  • Stanisław Lem.
  • Microsoft

2. SZBD to skrót od słów:

  • System Zapisywania Bezwartościowych danych.
  • System Zintegrowanych Baz danych.
  • System Zarządzania Bazą Danych.
  • System Zbioru Bazy Danych.

3. Który z wymienionych elementów nie korzysta z systemu baz danych?

  • System zarządzania treścią Joomla!
  • System sprzedaży Subiekt GT.
  • Dokument HTML.
  • Dziennik elektroniczny.

4. Sieciowy model danych został ustandaryzowany przez:

  • W3C.
  • IEEE.
  • CODASYL.
  • ISO/OSI.

5. Do SZBD w architekturze klient-serwer nie zaliczamy:

  • MS Access.
  • MySQL.
  • PostgreSQL.
  • MS SQL Serwer.

Stary zeszyt TIABD

Zeszyt TIABD

Pojęcie bazy danych, właściwości baz danych

Co to jest baza danych?

Narzędzie do organizowania zbioru danych, według określonych reguł. (System zarządzania bazami danych.)

Wymień przykłady zastosowania baz danych.

  • Obsługa wpłat i wypłat w banku
  • Rezerwacja biletów lotniczych
  • Kartoteki pracowników (kadry i płace)
  • Księgowość
  • Wyszukiwarki informacji: Google, Amazon itp.
  • Poszukiwanie prawidłowości w danych
  • Multimedialne bazy danych: obrazy, muzyka, filmy
  • Edziennik

Wymień i krótko opisz cechy baz danych.

Baza danych powinna charakteryzować się następującymi cechami:

  • trwałość danych.
  • integralność danych.
  • bezpieczeństwo danych.
  • współdzielenie danych.
  • abstrakcja danych.
  • niezależność danych.
  • integracja danych.
  • normalizacja danych.

Jaka jest różnica między częścią intersjonalną a ekstensjonalną bazy danych?

Część intersjonalna określa jej strukturę (tabele itp.), a część ekstensjonalna określa jej zawartość (dane).

Zadania 2, 3, Test 19

Zadanie 2

Opis zbioru danych TAK NIE uzasadnienie
wiersz Jana Brzechwy NIE zbiór zawiera słowa, które mogą się powtarzać i nie są uporządkowane
książka telefoniczna TAK zbiór zawiera uporządkowane numeru telefonów (unikalne) i przypisane do nich adresy, nazwiska itp.
spis znajomych z Facebooka NIE zbiór zawiera nieuporządkowane i nie koniecznie unikalne imiona i nazwiska, które mogą się powtarzać
dziennik lekcyjny TAK zbiór zawiera uporządkowane numery dzienników (unikalne), imiona i nazwiska oraz przyporządkowane im oceny, obecności itp.
bilet autobusowy 24-godzinny NIE jest to pojedyncza informacja, a nie zbiór danych

Zadanie 3

Zdanie Prawda Fałsz
Jedną z cech charakterystycznych dla bazy danych jest zgodność ze standardami W3C. P
Integralność danych oznacza jej zgodność z rzeczywistością. P
Struktura bazy danych to przeniesienie na postać diagramu koncepcji układu tabel i powiązań między nimi. P
Model jednorodny przechowuje wszystkie dane w co najmniej dwóch tabelach. F
MS Access to serwer bazy danych SQL działający w systemie Windows. F
Każda baza danych musi mieć przynajmniej jedną tabelę. F
W 1985 roku E.F Codd przedstawił dwadzieścia zasad opisujących model relacyjny baz danych. F
Obiektowe bazy danych do przechowywania danych używają jednej tabeli. F
Jedną ze starszych aplikacji bazodanowych był program dBASE. P

TEST 19

1. Relacyjny model danych opracował:

  • Edgar F. Codd.
  • Steven Jobs.
  • Stanisław Lem.
  • Microsoft

2. SZBD to skrót od słów:

  • System Zapisywania Bezwartościowych danych.
  • System Zintegrowanych Baz danych.
  • System Zarządzania Bazą Danych.
  • System Zbioru Bazy Danych.

3. Który z wymienionych elementów nie korzysta z systemu baz danych?

  • System zarządzania treścią Joomla!
  • System sprzedaży Subiekt GT.
  • Dokument HTML.
  • Dziennik elektroniczny.

4. Sieciowy model danych został ustandaryzowany przez:

  • W3C.
  • IEEE.
  • CODASYL.
  • ISO/OSI.

5. Do SZBD w architekturze klient-serwer nie zaliczamy:

  • MS Access.
  • MySQL.
  • PostgreSQL.
  • MS SQL Serwer.

Modele baz danych

Co to jest Model bazy danych

Model bazy danych to zbiór zasad opisujących strukturę danych i dozwolone operacje w bazie danych.

Model danych składa się z:

  • Część strukturalna
  • Część manipulacyjna (kto i co można zrobić)
  • Reguły integralności

Modele baz danych:

Jednorodny

Jest to model, w którym wszystkie dane są umieszczone w jednej tabeli. Zaletami tego modelu jest łatwość i szybkość odczytywania danych, a wadami możliwość występowania dużej ilości duplikatów zwiększających zużycie zasobów maszyny. Przykładem takiego modelu jest książka telefoniczna. Zawiera ona dane ułożone w.g. nazwisk, więc gdybyśmy chcieli wyszukać nazwisko mając numer telefonu byłoby to trudne, gdyż książka telefoniczna nie jest przystosowana do szukania nazwisk po numerze telefonu.

Hierarchiczny

W tym modelu przechowywane dane są zorganizowane w postaci drzewa. Informacja jest zawarta w dokumentach oraz w strukturze drzewa. Zaletą takiej bazy danych jest duża szybkość działania, wadą – powstawanie nadmiarowych danych.

Sieciowy

Model sieciowy baz danych organizuje dane w formie grafu, gdzie rekordy mogą mieć wiele wzajemnych powiązań, umożliwiając bardziej złożone relacje niż w modelu hierarchicznym.

Relacyjno - obiektowy

Łączy cechy modelu relacyjnego i obiektowego, co pozwala na używanie tabel relacyjnych, ale z obsługą bardziej złożonych typów danych (obiektów), jak w programowaniu obiektowym. Zalety: Obsługa zaawansowanych typów danych (np. multimedia, struktury). Elastyczność obiektów przy zachowaniu prostoty relacyjnej. Wady: Większa złożoność niż w czystym modelu relacyjnym. Może być mniej wydajny przy dużych zbiorach danych niż model relacyjny.

Obiektowy

To sposób przechowywania danych jako obiektów, które łączą dane i operacje na nich. Używa klas, dziedziczenia, enkapsulacji i polimorfizmu, co pozwala na bardziej złożone struktury danych niż w tradycyjnych bazach relacyjnych.

Rozproszona baza danych

To baza, której dane są przechowywane na wielu serwerach, ale użytkownicy widzą ją jako jedną całość. Wykorzystuje replikację i fragmentację danych, by zapewnić skalowalność, dostępność i wydajność.

Relacyjny

Model relacyjny to sposob przechowywania danych w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty). Tabele mogą być ze sobą powiązane za pomocą kluczy, co pozwala na rozpowszechnianie informacji.

Zalety modelu relacyjnego to:

  • Prostota – dane są przechowywane w łatwych do zrozumienia tabelach.
  • Elastyczność – łatwo dodawać, modyfikować i usuwać dane bez wpływu na inne tabele.
  • Spójność danych – dzięki kluczom i ograniczeniom integralności dane są dokładne i zgodne.
  • Łatwość wyszukiwania – język SQL pozwala na szybkie tworzenie zapytań i analizowanie danych.
  • Skalowalność – model relacyjny dobrze radzi sobie z dużymi zbiorami danych.

Wady modelu relacyjnego to:

  • Złożoność przy dużych danych – przy bardzo dużych zbiorach danych lub skomplikowanych zapytaniach wydajność może spadać.
  • Słaba obsługa danych nieustrukturyzowanych – model relacyjny nie radzi sobie dobrze z danymi takimi jak multimedia czy teksty.
  • Złożoność relacji – w przypadku bardzo złożonych relacji między danymi, tworzenie i zarządzanie tabelami może stać się trudne.
  • Kosztowna skalowalność – skalowanie poziome (dodawanie kolejnych serwerów) bywa trudniejsze niż w przypadku innych modeli baz danych, np. NoSQL.

Zadanie 1

Tabela poniżej przedstawia prykładowy tygodniowy plan lekcji. Określ, jaki model danych reprezentuje, i opisz jego cechy charakterystyczne. Odpowiedź zapisz poniżej tabeli.

Nr lekcji Poniedziałek Wtorek Środa Czwartek Piątek
0 j. angielski e. dla bezp. WF SK
1 matematyka historia j.polski WF SK
2 montaż komp. biologia j.polski religia j. angielski
3 montaż komp. informatyka geografia matematyka j. polski
4 montaż komp. religia fizyka podst. przed. j. polski
5 BHP montaż komp. lekcja wych. matematyka
5 montaż komp.

Przedstawia model jednorodny - zawiera jedną tabelę. LUB model relacyjny, który przechowywuje dane w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty).

Integralność danych

1. Co to jest integralność danych?

Integralność (spojność) danych oznacza, że dane nie ulegają zmianom lub uszkodzeniu, a system działa bez manipulacji.

Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.

2. Jakie wyróżniamy rodzaje integralności?

  1. Integralność semantyczna - polega na utrzymaniu ograniczeń nakładach na dane np. w określonej kolumnie tabeli muszą znajdować sie wyłącznie dane zgodne z typem danych kolumny.
  2. Integralność encji - wprowadza sie w trakcie definiowania schematu danych np. każda tabela ma posiadacz klucz główny.
  3. Integralność referencyjna - polega na wprowadzeniu i utrzymaniu powiązań między tabelami.

3. Kiedy baza danych zachowuje swoją poprawność?

Wtedy kiedy 3 rodzaje integralności będą zachowane. Utrzymanie poprawności w obrębie sementycznym, encji, referencyjnym.

4. Czym różnią się ograniczenia integralnościowe statyczne od dynamicznych?

Szczególnym rodzajem ograniczeń, które można nałożyć na dane, są tzw. więzy integralności. Wyróżniamy:

  • więzy statyczne – ograniczenia stanu bieżącego, wykluczające niedopuszczalne wartości – na przykład sprawdzenie reguły: „pensja pracownika jest większa niż zero”

  • więzy dynamiczne – ograniczenia przejść między stanami, przeciwdziałające niedopuszczalnym zmianom – na przykład sprawdzenie reguły: „wiek pracownika nie może maleć”. W wielu ujęciach tematu integralności nazywane także więzami przejść.

  • ograniczenia integralnościowe statyczne odnoszą się do bierzacego stanu bazy danych. np. warunek aktualny teraz i w przyszłości pomimo u

  • więzy integralności dynamiczne to takie przeciwdziałają zmianom ponieważ związane są z przejściem bazy danych z jednego stanu w drugi (tymczasowe)

Pytania

  1. Co to baza danych?
  2. Przykłady bazy danych.
  3. Cechy bazy danych.
  4. Co to jest model danych i z jakich składa się części (jednorodny, hierarchiczny i relacyjny)?
  5. Co to jest integralność i jakie są rodzaje?

Funkcje systemu zarzadzania bazy danych

Wytłumacz pojęcia: dane, baza danych, system zarządzania bazą danych

  • Dane - informacje
  • Baza danych - Narzędzie do organizowania zbioru danych, według określonych reguł. (System zarządzania bazami danych.)
  • SZBD - oprogramowanie bądź system informatyczny służący do definiowania, towrzenia i zarządzania bazą danych przez użytkowmnika. Umożliwa dostęp do bazy danych również inny programom.

Co to jest CODASYL?

CODASYL (COnference on DAta SYstems Languages) - Konferencja ds Języków Systemów Baz Danych

Omów pojęcie niezależności danych

Programy wymieniające informacje z bazą danych są niezależne od przechowywania danych na dysku i szczegółów reprezentacji danych na dysku.Niezależność dotyczy również posługiwania się danymi.

Wymień wady SZBD

  • potrzeba z zapoznaniem się z obszerną dokumentacją
  • wymaga dużo przestrzeni dyskowej i zasobów pamięci operacyjnej

Na czym polega spójność danych

Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.

Zadanie 1

  • adres e-email
  • imię
  • adres korespodecyjny
  • nazwisko
  • numer telefonu
  • NIP

Zadanie 2

Film

  • id_filmu
  • tytuł
  • czas trwania filmu
  • podobne filmy

Reżyser

  • id_reżysera
  • nazwisko reżysera
  • imię reżysera
  • poprzednie filmy

Aktor

  • id_aktora
  • imię aktora
  • nazwisko aktora
  • data urodzin aktora
  • filmy

Gatunek

  • id_gatunku
  • nazwa zespołu
  • opis gatunku

Karta pracy 2

1.

Klient:

  • idklient

Zamowienie:

  • idzamowienie

ZamowienieStatus:

  • idzamowieniestatus

ZamowienieProdukt:

  • idzamowienieprodukt

Produkt:

  • idprodukt

2.

Klient - Zamowienie: Jeden do jednego

ZamowienieProdukt - Produkt: Jeden do jeden

Zamowienie - ZamowienieProdukt: Jeden do jednego / Jeden do wielu

Zamowienie - ZamowienieStatus: Jeden do wielu

3.

ProducentProduktu (idproducent, producent, adres, telefon, email, NIP)

KategoriaProduktu (idkategoria, kategoria, opis) Pracownik (idpracownik, imie, nazwisko, telefon)

Faktura / Paragon (iddowodu, nr dowodu)

Program lojalnościowy (iduczestnika, imie, nazwisko, telefon, email)

Test 20

1.

  1. C top-down
  2. A encję z samą sobą
  3. D 1:1
  4. B klucz złożony
  5. C dziedziną

Typy danych

a) Tesktowe:

  • CHAR (do 255 znaków)
  • VARCHAR (do 65 535 znaków)
  • TINYTEXT (do 255 znaków)
  • TEXT (do 65 535 znaków)
  • NTEXT
  • MEDIUMTEXT (do 16 777 215 znaków)
  • LONGTEXT (do 4 294 967 295 znaków)

b) Liczbowe

  • TINYINT (całkowite od 0 do 255 lub -127 do 27)
  • SMALLINT (całkowite od 0 do 65 535 lub od -32 768 do 32 768)
  • MEDIUMINT (całkowite od 0 do 16 777 215 lub od -8 388 608 do 8 388 608)
  • INT (całkowite od 0 do 4 294 967 295 lub od 2 147 483 647 do -2 147 483 647)
  • BIGINT (całkowite, ośmiobajtowa wartość ())
  • FLOAT (zmiennoprzecinkowe (4 bajty) od -1.402823466E+38 do -1.175494351E-38, 0 i 1.175494351E-38 do 3.402823466E+38)
  • DOUBLE (zmiennoprzecinkowe (8 bajtów) -1.7976931348623157E+308 do -2.2250738585072014E-308, 0, i 2.2250738585072014E-308 do 1.7976931348623157E+308)
  • DECIMAL (DOUBLE z możliwością zapisu szesnastkowego)
  • NUMERIC
  • REAL

c) Daty i czasu

  • DATE (data bez czasu)
  • DATETIME (data i czas)
  • TIMESTAMP (EPOCH time, czas UNIX, od 1970-01-01 00:00:00, przepełnienie w 2037r.)
  • TIME (czas od -838:59:59 do 838:59:59)
  • YEAR (rok od 1901 do 2155)

d) Binarne

  • BINARY
  • VARBINRY

e) Waluty/walutowe (nie ma w MySQL)

  • MONEY (od -922,337,203,685,477.5808 do 922,337,203,685,477.5807)
  • SMALLMONEY (od -214,748.3648 do 214,748.3647)

f) Specialne

  • ENUM(’elem1′, ’elem2′, …) (Kolumna łańcuchowa, która może zawierać jedną z wartości wymienionych na liście wartości w definicji tej kolumny)
  • SET(’elem1′, ’elem2′, …) (Kolumna łańcuchowa, która może zawierać dowolną liczbę wartości spośród wartości występujących na liście w definicji tej kolumny)
  • TEXT
  • BIT
  • SET
  • IMAGE

Normalizacja

ZAGADNIENIA NA SPRAWDZIAN

a) Korzystanie z komputerowych baz danych (gdzie można spotkać i jakie daje to korzyści)

Możemy je spotkać wszędzie tam gdzie zbiera się i analizuje dane np. w szkołach (e-dzienniki), bankach (transakcje) itp. Pozwalają na bezbolesną organizację oraz szybki dostęp danych.

b) Definicja bazy danych (nie zapomnieć o SZBD!!)

Narzędzie do organizowania zbioru danych, według określonych reguł. (System zarządzania bazami danych.)

c) Modele baz danych (wymień, opisz jednym zdaniem.)

Jednorodny Jest to model, w którym wszystkie dane są umieszczone w jednej tabeli.

Hierarchiczny W tym modelu przechowywane dane są zorganizowane w postaci drzewa.

Sieciowy Model sieciowy baz danych organizuje dane w formie grafu.

Relacyjno - obiektowy Łączy cechy modelu relacyjnego i obiektowego.

Obiektowy To sposób przechowywania danych jako obiektów, które łączą dane i operacje na nich.

Rozproszona baza danych To baza, której dane są przechowywane na wielu serwerach, ale użytkownicy widzą ją jako jedną całość.

Relacyjny Model relacyjny to sposob przechowywania danych w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty). Tabele mogą być ze sobą powiązane za pomocą kluczy, co pozwala na rozpowszechnianie informacji.

d) Relacyjny model bazy danych

Model relacyjny to sposob przechowywania danych w tabelach, gdzie każda tabela zawiera wiersze (rekordy) i kolumny (atrybuty). Tabele mogą być ze sobą powiązane za pomocą kluczy, co pozwala na rozpowszechnianie informacji. Cechy:

  • trwałość danych (oznacza możliwość przechowywania danych w pamięci masowej (trwałej) komputera)
  • integralność danych (Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.)
  • bezpieczeństwo danych ( zestaw środków, praktyk i procedur, który ma zapewniać dostępność i przede wszystkim – poufność danych znajdujących się w bazach)
  • współdzielenie danych (oznacza, że istnieje możliwość równoczesnej pracy wielu użytkowników z tą samą bazą danych)
  • abstrakcja danych (dane opisują tylko istotne aspekty obiektów świata rzeczywistego )
  • niezależność danych (informacje z bazą danych są niezależne od przechowywania danych na dysku i szczegółów reprezentacji danych na dysku)
  • integracja danych (proces łączenia danych z kilku różnych źródeł w celu zapewnienia użytkownikom jednego, ujednoliconego widoku)

e) Definicja klucza podstawowego

Inaczej klucz główny - wybrany minimalny zestaw atrybutów relacji, jednoznacznie identyfikujący każdy rekord tej relacji. To oznacza, że taki klucz musi przyjmować wyłącznie wartości niepowtarzalne i nie może być wartością pustą (null). Ponadto każda relacja może mieć najwyżej jeden klucz główny.

f) Typy relacji w bazach danych (1:1, 1:N, N:N)

g) Pojęcie encji oraz atrybutu encji oraz przykład

Encja (ang. Entity) – jest pojedynczym, możliwym do zidentyfikowania, oddzielnym obiektem. Encja to obiekt, który posiada atrybuty, opisujące go. Encja może mieć przypisane również metody lub funkcje. Encje z takimi samymi właściwościami tworzą zbiór encji. Z pojęciem encji można się spotkać przy temacie baz danych, gdzie encja to nic innego jak reprezentacja obiektu.

h) Do czego służą diagramy ERD i o czym należy pamiętać.

Diagram związków encji (zwany również diagramem ERD) pokazuje, jak encje (osoby, obiekty i koncepcje) wchodzą w interakcje. Te koncepcyjne modele danych pomagają programistom i projektantom wizualizować związki między kluczowymi elementami oprogramowania. Należy pamiętać o określeniu encji, ich atrybutów oraz relacji.

i) Na czym polega normalizacja tabel. (tylko wprowadzenie)

Są to działania mające na celu sprawdzić czy zaprojektowane tabee mają prawidłową strukturę. Eliminuje się przy tym powielanie danych oraz minimalizuje ryzyko błędów przy wprowadzaniu danych. Rozbija się tabele na mniejsze.

j) Co to jest integralność i jakie rodzaje mamy

Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.

Integralność semantyczna - polega na utrzymaniu ograniczeń nakładach na dane np. w określonej kolumnie tabeli muszą znajdować sie wyłącznie dane zgodne z typem danych kolumny.

Integralność encji - wprowadza sie w trakcie definiowania schematu danych np. każda tabela ma posiadacz klucz główny.

Integralność referencyjna - polega na wprowadzeniu i utrzymaniu powiązań między tabelami.

Cechy relacyjnej bazy danych

  • trwałość danych (oznacza możliwość przechowywania danych w pamięci masowej (trwałej) komputera)
  • integralność danych (Integralność określana również mianem spójności danych jest to funckja systemu SZBD która grawantuje, że dane nie zostaną usunięte lub zmienione w nieautoryzowany sposób.)
  • bezpieczeństwo danych ( zestaw środków, praktyk i procedur, który ma zapewniać dostępność i przede wszystkim – poufność danych znajdujących się w bazach)
  • współdzielenie danych (oznacza, że istnieje możliwość równoczesnej pracy wielu użytkowników z tą samą bazą danych)
  • abstrakcja danych (dane opisują tylko istotne aspekty obiektów świata rzeczywistego )
  • niezależność danych (informacje z bazą danych są niezależne od przechowywania danych na dysku i szczegółów reprezentacji danych na dysku)
  • integracja danych (proces łączenia danych z kilku różnych źródeł w celu zapewnienia użytkownikom jednego, ujednoliconego widoku)

Linux

Podsekcje z Linux

Obrazy VM

Następujące obrazy zawierają zainstalowane systemy, często z dodatkowymi narzędziami i zoptymalizowane do pracy w maszynie wirtualnej (VirtualBox). Wartości ramu i ilość rdzeni można dowolnie zmieniać, w nawiasach są podane wartości domyślne.

<br

Wartości domyślne to wartości zalecane, można je obniżyć lub zwiększyć.

<br

Obrazy z Windowsami nie są aktywowane ze względów legalnych. Nie przeszkadza to jednak w ćwiczeniu zadań.

<br

Zbytnie obniżenie wartości domyślnych może powodować problemy i niestabilność systemu. Masz RAMu i rdzenie to korzystaj!

<br

Rozmiar do pobrania: ~2GB
Rozmiar po zaimportowaniu: ~5GB
Zalecane (domyślne): 1GB ramu, 1 rdzeń
Zalecane minimum: 1GB ramu, 1 rdzeń

<br

Rozmiar do pobrania: ~7GB
Rozmiar po zaimportowaniu: ~17GB
Zalecane (domyślne): 2GB ramu, 1 rdzeń
Zalecane minimum: 2GB ramu, 1 rdzeń

<br

Rozmiar do pobrania: ~5GB
Rozmiar po zaimportowaniu: ~10GB
Zalecane (domyślne): 4GB ramu, 2 rdzenie
Zalecane minimum: 2GB ramu, 1 rdzeń

<br

Rozmiar do pobrania: ~13GB
Rozmiar po zaimportowaniu: ~25GB
Zalecane (domyślne): 2GB ramu, 1 rdzeń
Zalecane minimum: 2GB ramu, 1 rdzeń

<br

Rozmiar do pobrania: ~2GB
Rozmiar po zaimportowaniu: ~?GB
Zalecane (domyślne): 3GB ramu, 2 rdzenie (MAKSYMUM RAMU TO 3.6GB RAMU!)
Zalecane minimum: 0.5GB ramu, 1 rdzeń

Użytkownicy i uprawnienia

Tworzenie użytkownika

sudo useradd {atrybuty} nazwa

Wybrane atrybuty:

  • -d /home/? (katalog domowy)
  • -m (utwórz katalog domowy)
  • -s /bin/bash (powłoka systemowa)
  • -u 1000 (id użytkownika (uid))
  • -g 1000 (id grupy (gid))
  • -G grupa1, grupa2 (grupy użytkownika)
  • -e 2024-12-12 (data ważności konta)

Modyfikowanie użytkownika

sudo usermod {atrybuty} nazwa

Wybrane atrybuty:

  • -d /home/? (katalog domowy)
  • -m (utwórz katalog domowy)
  • -s /bin/bash (powłoka systemowa)
  • -u 1000 (id użytkownika (uid))
  • -g 1000 (id grupy (gid))
  • -G grupa1, grupa2 (grupy użytkownika)
  • -a (dodanie do grupy, nie ich zmiana)
  • -e 2024-12-12 (data ważności konta)

Tworzenie grupy

sudo groupadd {atrybuty} nazwa

Wybrane atrybuty:

  • -g 1000 (id grupy (gid))

Modyfikowanie grupy

sudo groupmod {atrybuty} nazwa

Wybrane atrybuty:

  • -g 1000 (id grupy (gid))
  • -n nazwa (nowa nazwa grupy)

CHAGE

sudo chage

Wybrane atrybuty:

  • -l (wyświetlenie szczegółów, nie łączy się z innymi)
  • -d 2024-12-12 (ostatnia zmiana hasła)
  • -E 2024-12-12 (wygaśnięcie konta)
  • -m 1 (minimalna ilość dni pomiędzy zmianami hasła)
  • -M 10 (maksymalna ilosć dni pomiędzy zmianami hasła)
  • -W 0 (dni ostrzegania przed wygaśnięciem hasła)
  • -I 0 (dni do wygaśnięcia konta po wygaśnięciu hasła)

Uprawnienia

Kody liczbowe:

  • r - 4
  • w - 2
  • x - 1 Dodajemy aby otrzymać żądaną wartość. Grupujemy po 3 dla właściciela, grupy i innych np. 777

Kody literkowe:

  • u - właściciel pliku
  • g - grupa pliku
  • o - inni
  • a - wszystcy Dodawanie uprawnień: a+x

Odbieranie uprawnień: a-x

Kody można łączyć: ug+rwx

Stosowanie:

sudo chmod {kod} /sciezka/do/pliku/lub/katalogu

Zmiana właściciela

sudo chown user:grupa /sciezka/do/pliku/lub/katalogu

Wyświetlanie uprawnień

ls -l

Lepki bit:

sudo chmod 1775 /sciezka/do/katalogu

Programowanie