sobota vol3

This commit is contained in:
MikolajPaterka 2022-02-12 22:44:36 +01:00
parent ed7b8fa9d1
commit 09998d50b2
1 changed files with 5 additions and 4 deletions

View File

@ -222,8 +222,8 @@ Rodzaje:
dowiązania twarde - utworzenie nowej nazwy dla istniejącego pliku. Jeśli wyobrazimy sobie plik jako jego nazwę i dane na które ta nazwa wskazuje to można powiedzieć, że dowiązanie twarde to utworzenie nowej nazwy wskazującej na te same dane; tworzy nową nazwę dla zasobu, zapisując ją w nowej lokalizacji (nie kasując poprzedniej), a sam link nie odwołuje się do pliku samego w sobie, ale tylko do jego zawartości\
**dowiązania symboliczne** - Wskazują one zwyczajnie na jakiś plik. Skasowanie pliku źródłowego spowoduje, że link, dowiązanie, po prostu przestanie działać prawidłowo. Działa podobnie jak skrót w Windows\
### 10. Współbieżność, synchronizacja procesów: semafory, semafory binarne, monitory, problemy współbieżności (sekcja krytyczna, producent/konsument, czytelnicy i pisarze, n-filozofów).
**semofor** - mechanizm synchronizacji procesów; wykorzystanie semaforów zapobiega niedozwolonemu wykonywaniu operacji na danych jednocześnie przez większą liczbę procesów; kontroluje ile procesów ma dostep do zasobów; jest to pewna całkowita nieujemna liczba\
semafor binarny - moze tylko podnosić i opuszczać; przyjmuje tylko wartość 0 lub 1
**semofor** - mechanizm synchronizacji procesów; wykorzystanie semaforów zapobiega niedozwolonemu wykonywaniu operacji na danych jednocześnie przez większą liczbę procesów; kontroluje ile procesów ma dostep do zasobów; jest to pewna całkowita nieujemna liczba \
semafor binarny - moze tylko podnosić i opuszczać; przyjmuje tylko wartość 0 lub 1 \
**monitory** - obiekty, które mogą być uzywany przez wiele wątków\
**problemy współbiezności**:
- sekcja krytyczna - fragment kodu programu, w którym korzysta się z zasobu dzielonego, a co za tym idzie w danej chwili może być wykorzystywany przez co najwyżej jeden wątek
@ -255,7 +255,8 @@ użytkownikiem lub aplikacją, a relacyjną bazą danych. Za pomocą SQLa możem
pobierać dane, ale także je wstawiać i modyfikować oraz tworzyć i modyfikować bazy
danych. Język SQL składa się z zapytań (ang. query) \
Podstwawowe elementy w języku: select, from, where, agregaca (sum, avg, min, max przy jednoczesnym zastosowaniu group by), orger by (ASC, DESC), tabele tymczasowe (CTE)\
**indeksy** - struktury zwiększające szybkość wykonywania operacji wyszukiwania. Bazują na drzewach lub wykorzystują funkcję skrótu.; Indeksowanie jest podstawowym mechanizmem wykorzystywanym w celu optymalizacji baz danych MySQL. Gdyby porównać bazę danych do książki, indeksy są czymś w rodzaju spisu treści. Indeksy są zatem pomocniczymi strukturami danych, które znacząco wpływają na szybkość wykonywania się zapytań SQL. Z technicznego punktu widzenia (i mocno uogólniając) indeksy to zbiór wartości typu „klucz lokalizacja”. Podczas realizowania zapytania optymalizator (SQL Server) najpierw przeszukuje indeks, który jest uporządkowany, a następnie na podstawie indeksu odczytuje odpowiednie rekordy. Indeksy dzielimy na główne (dla kluczy głównych), zgrupowane (dla nieunikalnych wartości grupujące te same wartości), niezgrupowany (podobnie jak zgrupowany tylko pamieta wszystkie pozycje elementów, jest gęstszy). Gwarantuje to logarytmiczny (względem rozmiaru) czas wykonywania podstawowych operacji takich jak wstawianie, wyszukiwanie czy usuwanie elementów.\
**indeksy** - struktury zwiększające szybkość wykonywania operacji wyszukiwania. Bazują na drzewach lub wykorzystują funkcję skrótu.; Indeksowanie jest podstawowym mechanizmem wykorzystywanym w celu optymalizacji baz danych MySQL. Gdyby porównać bazę danych do książki, indeksy są czymś w rodzaju spisu treści. Indeksy są zatem pomocniczymi strukturami danych, które znacząco wpływają na szybkość wykonywania się zapytań SQL. Z technicznego punktu widzenia (i mocno uogólniając) indeksy to zbiór wartości typu „klucz lokalizacja”. Podczas realizowania zapytania optymalizator (SQL Server) najpierw przeszukuje indeks, który jest uporządkowany, a następnie na podstawie indeksu odczytuje odpowiednie rekordy. Indeksy dzielimy na główne (dla kluczy głównych), zgrupowane (dla nieunikalnych wartości grupujące te same wartości), niezgrupowany (podobnie jak zgrupowany tylko pamieta wszystkie pozycje elementów, jest gęstszy). Gwarantuje to logarytmiczny (względem rozmiaru) czas wykonywania podstawowych operacji takich jak wstawianie, wyszukiwanie czy usuwanie elementów. \
\
W praktyce indeksy tworzymy dla:
- Kolumn z ograniczeniem PRIMARY KEY.
- Kolumn z ograniczeniem FOREIGN KEY oraz kolumn wykorzystywanych przy łączeniu tabel.
@ -295,7 +296,7 @@ przez jedną z transakcji, zostają nadpisane przez zmiany z drugiej transakcji
https://wazniak.mimuw.edu.pl/images/2/25/BD-1st-2.4-lab9.tresc-1.1.pdf
### 15. Paradygmat programowania obiektowego (Abstrakcja, Hermetyzacja, Polimorfizm, Dziedziczenie, przeciążanie operatorów i metod, klasy abstrakcyjne, interfejsy).
**Programowanie obiektowe** - paradygmat programowania, w którym programy definiuje się za pomocą obiektów - łączą dane - zmienne, z zachowaniem - metodami.
**Programowanie obiektowe** - paradygmat programowania, w którym programy definiuje się za pomocą obiektów - łączą dane - zmienne, z zachowaniem - metodami. \
**Abstrakcja** - abstrakcyjny obiekt wykonawca, istnieje w systemie bez zdefiniowanych np metod\
**hermetyzacja** - polega na ukrywaniu pewnych danych; np. przy tworzeniu klasy nie chcemy by poszczególne jej składowe mogły być zmienione, poniewaz moze to prowadzić do nieprawidłowego działania aplikacji; dane powinnny być ukryte w naszej klasie, a na zewnatrz powinno być ujewnione jak najmniej\
**polimorfizm** - wielopostaciowość, zapisywanie jednej funkcji pod róznymi postaciami, moze być statyczny (funkacj moze posiadać wiele motod o tej samej nazwie lecz rózniące się parametrami) lub dynamiczny (funckje wirtulane abstarkcyjne)\