Jump to content

Samnick

Administrators
  • Posts

    46
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Samnick

  1. Na začátek si musíme říct že Linux není jen ta černá console/terminál kde bliká kurzor kam se cosi píše a Linux to udělá. Linux je operační systém založený na jádře Linux, který byl původně vytvořen Linusem Torvaldsem v roce 1991. Je to svobodný a otevřený software, což znamená, že uživatelé mají svobodu spouštět, kopírovat, distribuovat, studovat, změnit a vylepšovat software. Pro práci s Linuxem je důležité mít určité znalosti a dovednosti, jako je práce s příkazovým řádkem, správa balíčků a souborového systému. Nicméně existují také grafická uživatelská rozhraní pro Linux, která umožňují práci s operačním systémem bez nutnosti znalostí příkazové řádky, ale tyto grafické nadstavby jsou určeny spíše pro osobní počítače, než-li pro serverové využití. Linux tedy můžeme dál upravovat i prodávat, ale tento scénář se neděje. Protože licenční model je postaven tak, že pokud chcete upravit Linux a distribuovat ho dále, musíte zajistit, že vaše verze Linuxu bude stále svobodná a otevřená. To znamená, že musíte poskytnout zdrojový kód vaší verze Linuxu a zaručit, že každý, kdo dostane vaši verzi Linuxu, má stejné práva jako vy, včetně práva upravovat a distribuovat software dále. Standardně se pak používá model na bázi supportu, OS je free, ale support je paid. Linux se dodává v mnoha různých distribucích, což jsou různé verze operačního systému, které se liší v závislosti na způsobu instalace, balíčkovacím systému a správě softwaru. Mezi nejznámější distribuce patří Ubuntu, Debian, Red Hat, Fedora a CentOS. Linux je možné používat na velké sféře zařízení a účelem použití. Může být osobním počítači, serveru, mobilním zařízení, superpočítače či různé BYOD zařízení. Linux můžeme používat i na Desktop počítačích, tedy jako standardní OS pro práci s počítačem. Pro tyto účely bylo vytvořeno velké množství grafických nadstaveb pro Linux. Nejznámější jsou: GNOME, KDE, Xfce, LXDE, Unity(Pozor, neplést si s game engine). Občas můžeme vidět několik dalších zkratek jako je UNIX, GNU, BASH, Kernel, KDE a nebo Xfce. Níže se popíšeme co znamenají. UNIX Unix je starší operační systém, který byl původně vyvinut v AT&T Bell Labs v roce 1969. Unix je uzavřený operační systém a jeho zdrojový kód není volně dostupný. Unix byl původně určen pro minipočítače a vysokovýkonné počítače. Unix byl původně navržen pro architekturu procesorů typu minipočítačů a vysokovýkonných počítačů (Nikoliv tedy pro x86). Závěrem lze říci, že Linux a Unix jsou oba operační systémy s podobnými funkcemi, ale liší se v mnoha klíčových oblastech, jako je licence, zdrojový kód, architektura, rozšiřitelnost a dostupnost. GNU GNU je projekt svobodného software, který byl založen Richardem Stallmanem v roce 1983. GNU je zkratka pro "GNU's Not Unix" (GNU není Unix). Cílem projektu GNU bylo vytvořit kompletní operační systém s otevřeným zdrojovým kódem, který by byl kompatibilní s Unixem, ale bez závislosti na Unixových licenčních podmínkách. GNU je také spojeno s konceptem copyleft, což je právní mechanismus pro ochranu svobodného softwaru. Copyleft zajišťuje, že jakýkoli software vytvořený na základě GNU projektu musí zůstat svobodný a otevřený pro další uživatele. Projekt GNU je dnes velmi rozšířený a mnoho moderních operačních systémů, jako je právě Linux, používá mnoho komponentů z projektu GNU. V současné době je projekt GNU stále aktivní a pokračuje ve vývoji a šíření svobodného softwaru. Proto je často používáno spojení GNU/Linux BASH Bash (Bourne-Again SHell) je příkazový interpret a skriptovací jazyk pro Unixové a Unixově podobné operační systémy, včetně Linuxu. Bash je standardním příkazovým interpretem pro většinu distribucí Linuxu a je také součástí macOS. Bash umožňuje uživatelům spouštět příkazy v příkazové řádce nebo vytvářet skripty, což jsou soubory obsahující seznam příkazů, které mohou být spuštěny jako celek. Bash podporuje mnoho příkazů a funkcí, které umožňují uživatelům automatizovat různé úkoly nebo interagovat s operačním systémem a souborovým systémem. Více o BASH je v dalším díle Linux - Základní příkazy Kernel Kernel (česky jádro) je základní část operačního systému, která představuje prostředníka mezi hardwarem počítače a softwarovými aplikacemi běžícími na tomto počítači. Jádro operačního systému řídí všechny aspekty systému, včetně správy paměti, správy procesů, vstupů a výstupů, sítě, správy souborů a zařízení a dalších funkcí. Poskytuje také rozhraní pro komunikaci mezi aplikacemi a hardwarem. Linux jádro (kernel) existuje pouze jedno. Na společném vývoji pracují desítky/stovky firem a vývojářů. KDE a Xfce: jsou další populární grafické uživatelské rozhraní pro Linux. KDE je to velmi konfigurovatelné rozhraní, které umožňuje uživatelům přizpůsobit vzhled a chování systému podle svých potřeb. KDE používá mnoho widgetů a efektů, což umožňuje uživatelům pracovat s více aplikacemi najednou. Xfce je lehké grafické uživatelské rozhraní pro Linux, které je ideální pro starší počítače a zařízení s omezenými prostředky. Xfce má jednoduchý a elegantní vzhled a nabízí uživatelům snadný přístup k aplikacím a funkcím. Trocha čísel: Podle statistik je poměr mezi Linuxem a Windows na osobních PC stále poměrně výrazný. Podle odhadů používá Linux na osobních počítačích méně než 2% uživatelů, zatímco Windows používá přes 75% uživatelů. Zbylých 23% je macOS, Chrome OS. Mnohem lepší situace pro Linux je pak ale ve využití jako serverový OS. Podle statistik je poměr použití Linuxu a Windows na serverech relativně vyrovnaný, přičemž Linux má v této oblasti podstatně větší podíl na trhu než na osobních počítačích. Podle statistik, které byly publikovány v srpnu 2021 společností W3Techs, Linux je operačním systémem používaným na více než 96% webových serverů, zatímco Windows je používán na méně než 1% webových serverů. To znamená, že Linux je prakticky dominantní operační systém na webových serverech. Na druhé straně jsou Windows serverové operační systémy stále populární pro určité účely, jako je například běh aplikací vyvinutých pro platformu Windows. Windows také nabízí některé funkce a vlastnosti, které jsou pro určité účely vhodnější než Linux. Případně aplikace přímo vyvíjené od Microsoft. Co je distribuce? Distribuce se skládá z: základních programů shell interpretu - terminál/příkazová řádka GUI KDE, GNOME - Grafické rozhraní ovládacích scriptů instalační, aktualizační nástroje a balíčkovací systém vlastní aplikace
  2. tak to založíš znovu? moc textu tu nemáš a bylo by to super
  3. Opět rar? Dodej git link
  4. Opet rar? Dodej git link
  5. Pro hlubší či složitější práci s daty si bohužel nevystačíme pouze s SQL dotazem SELECT, některé data potřebují být při zobrazení různě spojována, nahrazována a nebo přidávány virtuální sloupce. Jedná se pouze o zobrazení, takže níže uvedené dotazy nemění žádné data, ale pouze vytváří zobrazovaný pohled na data. V tomto příkladu budeme používat SQL klíčové slova JOIN, UNION, CASE a dále si ukážeme Subquery. Vytvoříme si nové data: První tabulka: CREATE TABLE Zakaznici ( id INT PRIMARY KEY, jmeno VARCHAR(50) NOT NULL, prijmeni VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, adresa VARCHAR(200) NOT NULL, mesto VARCHAR(50) NOT NULL, stat VARCHAR(50) NOT NULL, psc VARCHAR(10) NOT NULL ); INSERT INTO Zakaznici (id, jmeno, prijmeni, email, adresa, mesto, stat, psc) VALUES (1, 'Jan', 'Novák', 'jan.novak@email.com', 'Hlavní 1', 'Praha', 'Česká republika', '100 00'), (2, 'Petr', 'Svoboda', 'petr.svoboda@email.com', 'Náměstí 2', 'Brno', 'Česká republika', '602 00'), (3, 'Kateřina', 'Veselá', 'katerina.vesela@email.com', 'Hrad 3', 'Olomouc', 'Česká republika', '779 00'), (4, 'Miroslav', 'Kučera', 'miroslav.kucera@email.com', 'Dlouhá 4', 'Liberec', 'Česká republika', '460 01'), (5, 'Lucie', 'Novotná', 'lucie.novotna@email.com', 'Hradčany 5', 'Praha', 'Česká republika', '110 00'); Druhá tabulka: CREATE TABLE Objednavky ( id INT PRIMARY KEY, zakaznik_id INT NOT NULL, produkt VARCHAR(100) NOT NULL, mnozstvi INT NOT NULL, cena DECIMAL(10, 2) NOT NULL, datum DATE NOT NULL, FOREIGN KEY (zakaznik_id) REFERENCES Zakaznici(id) ); INSERT INTO Objednavky (id, zakaznik_id, produkt, mnozstvi, cena, datum) VALUES (1, 1, 'Kávovar', 1, 2499.00, '2022-01-15'), (2, 1, 'Mixér', 2, 1799.00, '2022-01-18'), (3, 2, 'Myčka', 1, 8999.00, '2022-01-22'), (4, 3, 'Trouba', 1, 5999.00, '2022-01-25'), (5, 4, 'Klimatizace', 1, 12999.00, '2022-02-01'), (6, 5, 'Prádelní stroj', 1, 8499.00, '2022-02-05'), (7, 2, 'Lednice', 1, 7999.00, '2022-02-07'), (8, 4, 'Tablet', 2, 5699.00, '2022-02-11'); JOIN Spojení dvou tabulek pomocí sloupce, který mají obě nebo více tabulek společný. Ukázka: SELECT Objednavky.id, Zakaznici.jmeno, Zakaznici.prijmeni, Objednavky.produkt, Objednavky.mnozstvi, Objednavky.cena FROM Objednavky JOIN Zakaznici ON Objednavky.zakaznik_id = Zakaznici.id; Výstup dat: Výsledkem je tabulka obsahující sloupce id, jmeno, prijmeni, produkt, mnozstvi a cena spojená z tabulek Objednavky a Zakaznici. UNION spojení výsledků dvou a více dotazů do jednoho výstupu. Ukázka: SELECT produkt, mnozstvi, cena, zakaznik_id FROM Objednavky WHERE zakaznik_id = 1 UNION SELECT produkt, mnozstvi, cena, zakaznik_id FROM Objednavky WHERE zakaznik_id = 3; V tomto případě dotaz kombinuje výsledky dvou dotazů pomocí UNION. První SELECT vrací všechny řádky z tabulky Objednavky, kde má zákazník id 1. Druhý SELECT vrací všechny řádky z tabulky Objednavky, kde má zákazník id 3. UNION pak spojí výsledky obou dotazů do jedné tabulky a odstraní duplicity. Výsledkem dotazu bude tabulka obsahující řádky pro produkty, které si objednali zákazníci s id 1 nebo id 3. CASE použití podmínky pro generování nového sloupce za určitých podmínek dle specifikovaných podmínek. Ukázka: SELECT produkt, mnozstvi, cena, CASE WHEN cena < 5000 THEN 'levný' WHEN cena >= 5000 AND cena < 10000 THEN 'střední' ELSE 'drahý' END AS cena_kategorie FROM Objednavky; Výsledkem bude tabulka obsahující sloupce produkt, mnozstvi, cena a cena_kategorie. Poslední sloupec je vytvořen pomocí podmínky CASE, která rozděluje produkty do tří kategorií podle jejich cen. SubQUERY V některých případech pro zobrazení dat potřebujeme první část dat nějak vyfiltrovat, na toto jsou vhodné subquery, jak je jasné z názvu, tak to znamená že je jeden příkaz vnořený do druhého. Takže pro použití výsledku jednoho dotazu jako vstup do druhého. Ukázka: SELECT jmeno, prijmeni FROM Zakaznici WHERE id IN ( SELECT zakaznik_id FROM Objednavky WHERE produkt = 'Klimatizace' ); Výsledkem bude tabulka obsahující sloupce jmeno a prijmeni pro zákazníky, kteří si objednali klimatizaci. Vnitřní SELECT vrací seznam ID zákazníků, kteří si objednali klimatizaci, a vnější SELECT používá tento seznam jako podmínku pro výběr zákazníků z tabulky Zakaznici.
  6. Pokračování návodu SQL - Práce s daty 1 Vrátíme se k založeným tabulkám CREATE TABLE Customers ( CustomerID INT NOT NULL PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Address VARCHAR(100), City VARCHAR(50), Country VARCHAR(50) ); CREATE TABLE Orders ( OrderID INT NOT NULL PRIMARY KEY, CustomerID INT NOT NULL, OrderDate DATE, TotalAmount DECIMAL(10, 2), FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ); INSERT INTO Customers (CustomerID, FirstName, LastName, Address, City, Country) VALUES (1, 'Pepa', 'Novak', '123 Main St', 'Anytown', 'USA'), (2, 'Jane', 'Smith', '456 Oak Ave', 'Othertown', 'USA'), (3, 'Bob', 'Johnson', '789 Elm St', 'Somewhere', 'CR'); INSERT INTO Orders (OrderID, CustomerID, OrderDate, TotalAmount) VALUES (1, 1, '2022-02-15', 100.00), (2, 1, '2022-02-17', 50.00), (3, 2, '2022-02-18', 200.00), (4, 3, '2022-02-20', 75.00); UPDATE V ukázce provedeme změnu obsahu daných tabulkek. K tomu slouží příkaz UPDATE Příkaz UPDATE slouží k aktualizaci stávajících záznamů v databázové tabulce. Jeho syntaxe vypadá následovně: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; Jednotlivé parametry tohoto příkazu: table_name: Název tabulky, kterou chcete aktualizovat. column1, column2, ...: Názvy sloupců v tabulce, které chcete aktualizovat. value1, value2, ...: Nové hodnoty, které chcete přiřadit k jednotlivým sloupcům. condition: Podmínka, která určuje, které řádky v tabulce budou aktualizovány. Pokud tuto podmínku neuvedete, příkaz UPDATE aktualizuje všechny řádky v tabulce. Například: UPDATE Customers SET Address = 'Nova Adresa 123' WHERE CustomerID = 1; UPDATE Customers SET FirstName = 'Alice' WHERE CustomerID = 3; Je důležité kontrolovat to, aby podmínka byla dostatečně specifická, aby nedošlo k aktualizaci nechtěných řádků. Příklad pro update více hodnot v jednom příkazu: UPDATE Customers SET Address = 'Adresa 123', City = 'Mesto', Country = 'CZ' WHERE CustomerID = 1; Příklad pro update více řádků a hodnot v jednom příkazu: UPDATE Orders SET TotalAmount = 150.00; Tento příkaz změní u všech řádků hodnotu sloupce TotalAmount na hodnotu 150.00 DELETE Příkaz DELETE slouží ke smazání záznamů z databázové tabulky. Příkaz DELETE může mít nevratné dopady, pokud není správně použit. Pokud smažete řádky z tabulky, "nelze je obnovit" Je důležité dbát na to, aby podmínka byla dostatečně specifická, aby neodstranila nechtěné řádky v tabulce. DELETE FROM table_name WHERE condition; Jednotlivé parametry tohoto příkazu: table_name: Název tabulky, ze které chcete smazat záznamy. condition: Podmínka, která určuje, které řádky v tabulce budou smazány. Pokud tuto podmínku neuvedete, příkaz DELETE smaže všechny záznamy v tabulce. Příklady: Smazání zákazníka s ID 1 z tabulky Customers DELETE FROM Customers WHERE CustomerID = 1; Smazání všech objednávek s datem objednání starším než "2022-02-19" DELETE FROM Orders WHERE OrderDate < '2022-02-19'; !!Smazání všech dat z dané tabulky!! DELETE FROM Orders; ALTER Příkaz ALTER v SQL slouží ke změně struktury existující tabulky. Jeho syntaxe se liší v závislosti na tom, co chcete změnit. Zde jsou vysvětleny jednotlivé parametry, které můžete použít v příkazu ALTER TABLE: Určuje název tabulky, kterou chcete změnit. ADD: Používá se ke přidání nového sloupce do tabulky. Například: TABLE: Určuje název tabulky, kterou chcete změnit. ADD: Používá se ke přidání nového sloupce do tabulky. ALTER TABLE table_name ADD column_name data_type; DROP: Používá se ke smazání sloupce z tabulky. ALTER TABLE table_name DROP COLUMN column_name; MODIFY: Používá se ke změně datového typu existujícího sloupce. ALTER TABLE table_name MODIFY COLUMN column_name new_data_type; RENAME: Používá se ke změně názvu tabulky nebo sloupce. ALTER TABLE table_name RENAME TO new_table_name; ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name; Reálné příkazy pro naše tabulky: Přidání sloupce Phone do tabulky Customers ALTER TABLE Customers ADD Phone VARCHAR(20); Odstranění sloupce TotalAmount z tabulky Orders ALTER TABLE Orders DROP COLUMN TotalAmount; Změna datového typu sloupce Address v tabulce Customers z VARCHAR(100) na VARCHAR(200) ALTER TABLE Customers MODIFY COLUMN Address VARCHAR(200); Přejmenování tabulky Customers na Clients ALTER TABLE Customers RENAME TO Clients; Přejmenování sloupce City v tabulce Customers na Location ALTER TABLE Customers RENAME COLUMN City TO Location;
      • 3
      • Like
      • Thanks
  7. A kod nedavej v raru ale pokud je delší tak na git. Opravdu neplánuji si zavirovat pc
  8. V článku SQL - Práce s uživatelem jsme si řekli základní informace o práci s uživatelem a ukázali si možnost založení uživatele a změnu jeho práv. V tomto článku si ukážeme základní operace s daty. Vytvoříme si v naší testovací databázi dvě tabulky. Na vytvoření použijeme příkaz CREATE s možností TABLE CREATE TABLE Customers ( CustomerID INT NOT NULL PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Address VARCHAR(100), City VARCHAR(50), Country VARCHAR(50) ); A druhá tabulka CREATE TABLE Orders ( OrderID INT NOT NULL PRIMARY KEY, CustomerID INT NOT NULL, OrderDate DATE, TotalAmount DECIMAL(10, 2), FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID) ); Takto si vytvoříme dvě tabulky s názvem customers a orders. První tabulka obsahuje sloupce: CustomerID,FirstName,LastName,Address,City,Country Hint: CustomerID INT NOT NULL PRIMARY KEY definuje sloupec CustomerID v tabulce Customers. Popisuje následující informace o sloupci: INT určuje datový typ sloupce jako celočíselný. NOT NULL určuje, že sloupec nemůže obsahovat hodnoty NULL - nesmí být prázdný. PRIMARY KEY určuje, že tento sloupec je primárním klíčem této tabulky. Primární klíč slouží k jednoznačné identifikaci každého záznamu v tabulce. Každá tabulka musí mít právě jeden primární klíč a musí být definován pomocí jednoho nebo více sloupců. Takto vytvořené tabulky jsou ale prázdné, potřebujeme tedy nějaké data do tabulek vložit. K vložení dat použijeme příkaz INSERT INSERT INTO Customers (CustomerID, FirstName, LastName, Address, City, Country) VALUES (1, 'Pepa', 'Novak', '123 Main St', 'Anytown', 'USA'), (2, 'Jane', 'Smith', '456 Oak Ave', 'Othertown', 'USA'), (3, 'Bob', 'Johnson', '789 Elm St', 'Somewhere', 'CR'); Druhá tabulka INSERT INTO Orders (OrderID, CustomerID, OrderDate, TotalAmount) VALUES (1, 1, '2022-02-15', 100.00), (2, 1, '2022-02-17', 50.00), (3, 2, '2022-02-18', 200.00), (4, 3, '2022-02-20', 75.00); Tyto dva insert příkazy vkládají více řádků, příklad pouze pro jeden řádek: INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); Možnost je vkládání dat i z jiné tabulky do jiné tabulky, tomu se říká poddotaz nebo vnořený dotaz: INSERT INTO table_name (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM another_table WHERE condition; Práce s daty - SELECT Struktura příkazu SELECT, některé jsou volitelné a mohou být vynechány/nepoužity SELECT column1, column2, column3, ... FROM table_name WHERE condition GROUP BY column1 HAVING condition ORDER BY column1 ASC/DESC LIMIT number; Význam: SELECT specifikuje seznam sloupců, které chceme získat z tabulky. FROM specifikuje jméno tabulky, ze které chceme data získat. WHERE specifikuje podmínky pro výběr řádků. GROUP BY specifikuje sloupce, podle kterých se řádky seskupují. HAVING specifikuje podmínky pro výběr skupin. ORDER BY specifikuje sloupec nebo sloupce, podle kterých se výsledky řadí a směr řazení. LIMIT specifikuje maximální počet řádků, které chceme získat. Vyber všechny sloupce z tabulky SELECT * FROM Customers; Vyber pouze zvolené sloupce z tabulky SELECT CustomerID, FirstName, Country, ... FROM Customers; Vyber zákazníků, kteří mají bydliště v USA SELECT * FROM Customers WHERE Country = 'USA'; Seřaď zákazníky podle abecedy jejich křestního jména (Nedojde ke změně dat, pouze zobrazovaného výstupu) SELECT * FROM Customers ORDER BY FirstName ASC; V další části si ukážeme změnu dat v tabulce, UPDATE, DELETE, ALTER
  9. V článku SQL - Základní informace jsme si řekli základní informace o SQL a ukázali si možnost založení uživatele. V tomto článku se probereme více možnostmi pro práci s uživatelem. Příkaz CREATE v jazyce SQL slouží k vytváření nových objektů v databázi, jako jsou tabulky, pohledy, indexy, procedury, funkce, uživatelé atd. Možnosti příkazu CREATE jsou specifické pro každý typ objektu, který se vytváří. Níže uvádím některé z možností příkazu CREATE pro nejčastěji používané typy objektů v databázi: CREATE TABLE: vytvoří novou tabulku v databázi CREATE VIEW: vytvoří nový pohled na tabulku nebo pohledy v databázi CREATE INDEX: vytvoří nový index na tabulku nebo pohled v databázi CREATE PROCEDURE: vytvoří novou uloženou proceduru v databázi CREATE FUNCTION: vytvoří novou uloženou funkci v databázi CREATE TRIGGER: vytvoří nový trigger (spouštěč) pro sledování událostí v databázi CREATE USER: vytvoří nového uživatele databáze CREATE DATABASE: vytvoří novou databázi Každý z těchto příkazů má mnoho dalších možností a specifických syntaxí, které se používají pro vytváření konkrétních objektů v databázi. Pro vytvoření uživatele tedy budeme potřebovat CREATE USER CREATE USER user_name IDENTIFIED BY 'password'; Tento příkaz vytváří nového uživatele a přiděluje mu heslo pro přihlášení. user_name je jméno uživatele a password je heslo. Příkaz CREATE USER vytváří uživatele bez jakýchkoli oprávnění. Klíčové slovo IDENTIFIED BY slouží k přidělení hesla Když budeme chtít takto vytvořeného uživatele přiřadit k nějaké databázi a nastavit mu oprávnění, budeme potřebovat příkaz GRANT Příkaz GRANT slouží k udělení přístupových práv uživatelům v databázi. Mezi hlavní možnosti patří: GRANT SELECT - umožňuje uživateli číst data v tabulkách GRANT INSERT - umožňuje uživateli vkládat data do tabulek GRANT UPDATE - umožňuje uživateli aktualizovat data v tabulkách GRANT DELETE - umožňuje uživateli odstraňovat data z tabulek GRANT CREATE - umožňuje uživateli vytvářet nové databáze, tabulky nebo indexy GRANT DROP - umožňuje uživateli odstraňovat databáze, tabulky nebo indexy GRANT ALTER - umožňuje uživateli měnit strukturu tabulek GRANT ALL PRIVILEGES - umožňuje uživateli přístup ke všem funkcím databáze GRANT EXECUTE - umožňuje uživateli spouštět uložené procedury nebo funkce Při použití příkazu GRANT může být uvedeno i specifikum, jako je určení konkrétní tabulky nebo databáze, ke které se přístupová práva vztahují, a také specifikace konkrétního uživatele, kterým se práva přidělují Například GRANT SELECT, INSERT, UPDATE ON database_name.* TO user_name@'localhost' IDENTIFIED BY 'password'; Pozor, localhost v příkazu přiděluje oprávnění uživateli pro připojení pouze z lokálního serveru, ale pokud chcete umožnit připojení i z jiných míst, můžete změnit localhost za '%'. Použití localhost je vhodné když chcete mít jistotu v zabezpečení jako další faktor před manipulaci s daty cizí osobou. Nejčastěji se používá přímo pro aplikace která je spuštěna na stejném serveru jako je databáze. Tímto způsobem si můžete u uživatele nastavit oprávnění. Nyní ale potřebujeme změnu oprávnění. Přidělení nového oprávnění použijeme opět příkaz GRANT. V opačném případě je potreba příkaz REVOKE Mezi základní možnosti patří: REVOKE ALL: Odebere všechna oprávnění uživateli pro daný objekt. REVOKE [název oprávnění]: Odebere konkrétní oprávnění uživateli pro daný objekt. REVOKE [název oprávnění] ON [název objektu] FROM [název uživatele]: Odebere konkrétní oprávnění uživateli pro daný objekt. Například: REVOKE SELECT ON database_name.table_name FROM 'user_name'@'%'; A jako poslední práci s uživatelem změníme uživatele heslo. Pro změnu hesla existuje v SQL příkaz ALTER. Příkaz ALTER v SQL slouží k úpravě již existujících objektů v databázi, jako jsou tabulky, pohledy, funkce, procedury, uživatelé atd. Možnosti příkazu ALTER se liší v závislosti na objektu, který chcete upravit. Zde je několik příkladů: ALTER TABLE: slouží ke změně struktury tabulky, např. přidání/odebrání sloupců, změna datového typu sloupců nebo změna primárního klíče. ALTER VIEW: slouží k úpravě definice pohledu. ALTER FUNCTION nebo ALTER PROCEDURE: slouží ke změně těla funkce nebo procedury. ALTER USER: slouží ke změně vlastností uživatele, jako je například změna hesla nebo limitu připojení. Každý typ objektu má své vlastní specifické možnosti úpravy pomocí příkazu ALTER. Pro změnu hesla použijeme ALTER USER Například: ALTER USER 'user_name'@'%' IDENTIFIED BY 'user_new_password';
  10. Teorie: SQL (Structured Query Language) je standardní programovací jazyk pro ukládání, manipulaci a vyhledávání dat v relačních databázích. SQL znamená strukturovaný dotazovací jazyk. SQL byl vyvinut v 70. letech společností IBM Relační databáze Existuje mnoho typů databázových serverů,nejčastěji používané: MySQL/MariaDB: Jedná se o open-source relační databázový server. Je to velmi populární volba pro webové aplikace, protože je snadno použitelný a podporuje mnoho programovacích jazyků. Microsoft SQL Server: Tento relační databázový server je vyvinutý společností Microsoft a je často používán v podnikových prostředích. Podporuje mnoho funkcí pro zpracování dat, jako jsou OLAP a data mining. Oracle Database: Je to jeden z nejvýkonnějších relačních databázových serverů a je často používán v podnikových prostředích. Podporuje mnoho funkcí, jako jsou replikace dat, zálohování a obnovení a mnoho dalších. PostgreSQL: Open-source relační databázový server s vysokou úrovní funkčnosti a rozšířenosti. Je často používán pro webové aplikace, ale také pro podnikové aplikace a GIS. MongoDB: NoSQL databázový server, který ukládá data ve formátu JSON a podporuje škálovatelnost a vysokou dostupnost. Je často používán pro aplikace, které pracují s nestrukturovanými daty, jako jsou aplikace sociálních médií nebo mobilní aplikace. Pomocí SQL můžeme provádět určité operace na existující databázi a také můžeme použít tento jazyk k vytvoření databáze. SQL používá určité příkazy, jako jsou Create, Drop, Insert atd., k provedení požadovaných úkolů. Tyto příkazy SQL jsou hlavně rozděleny do pěti kategorií jako: DDL – Data Definition Language - definuje strukturu databáze DQL – Data Query Language - slouží k získávání dat z databáze DML – Data Manipulation Language - se používá ke změně dat v databázi DCL – Data Control Language - řídí přístup k datům v databázi TCL – Transaction Control Language - řídí transakce v databázi Příklad: Pro chod FiveM vám stačí pouze toto: DDL - CREATE, ALTER DML - INSERT, UPDATE DQL - SELECT Příklad na vytvoření takového uživatele: CREATE USER 'fivem_server_user'@'%' IDENTIFIED BY 'password'; GRANT CREATE, ALTER ON fivem_server_database.* TO 'fivem_server_user'@'%'; GRANT SELECT, INSERT, UPDATE ON fivem_server_database.* TO 'fivem_server_user'@'%'; REVOKE ALTER USER ON *.* FROM 'fivem_server_user'@'%'; Příkazy jsou ukázkové pro vytvoření uživatele "fivem_server_user" a jeho hesla "password" a musí již existovat databáze "fivem_server_database" Příklad pro vytvoření databáze: CREATE DATABASE fivem_server_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Pozor! Databáze musí být vytvořena předtím než mají být nastaveny oprávnění pro uživatele. Takto vytvořený uživatel a databáze vám zajistí základní zabezpečení v práci s daty, uživatel nemůže vytvářet jiné uživatele a databáze a změnit si heslo.
×
×
  • Create New...