První kroky s databází

4. díl - První kroky s databází

Tomáš Jecha, MVP, MCSD       22.12.2009       SQL, Databáze       27954 zobrazení

V předchozích dílech jsme se seznámili s teorií potřebnou k pochopení fungování SQL Serveru jako celku a s pravidly při připojování po různých protokolech. Nyní je na čase se k databázovému serveru připojit a založit si první databázi. Zároveň se seznámíme s nástrojem na správu - SQL Server Management Studiem.

Pokud jste četli předchozí díly, budete schopni nainstalovat a nastavit SQL Server v jedné, či více instancích. Zároveň dokážete nastavit přístup pro klienty připojující se z lokálního stroje a pro klienty připojující se přes TCP/IP protokol.

SQL Server Management Studio (SSMS)

SQL Server Management Studio je oficiálně dodávaný software na správu databází Microsoft SQL Serveru. Stejně jako databázový systém sám, i SSMS má zpětnou kompatibilitu až do verze SQL Server 2000 (8.0). Obecně tedy platí, že se lze připojit na starší nebo stejnou verzi databázového systému, nikoliv na novější.

Tento nástroj využívá naprostá většina administrátorů a vývojářů pracující s MSSQL. Pokud nalezneme některé jeho alternativy, jedná se spíš o drobnější utility pro konkrétné úkony. I když trpí některými nedostatky, nemusíte se rozhodovat, jaký nástroj na správu využít. Už jenom proto, že jeho rozhraní pokrývá naprostou většinu možností samotného SQL Serveru od zálohování přes úpravu struktur tabulek, až po optimalizaci dotazů. Navíc je zdarma ke stažení, což je velmi příjemné.

Při používání SSMS je dobré si uvědomit jednu věc – tento nástroj pouze nabízí vizuální reprezentaci k funkcím SQL Serveru. To, co dokážete udělat v SSMS jde tedy reprezentovat i pomocí textového SQL jazyka. A stejně jako vaše aplikace i SSMS komunikuje s hlavním procesem (službou) databázového systému pomocí přednastavených protokolů (viz minulý článek). Tento proces pak zajišťuje úpravy dat v datových souborech databáze.

Databáze

Spuštění a přihlášení k databázovému serveru

Protože budeme s tímto nástrojem procovat po zbytek seriálu, nejdříve si projdeme jeho uživatelské rozhraní.

Spusťte si tedy nástroj SQL Server Management Studio z nabídky Start / Microsoft SQL Server 2008.

Pokud jej startujete poprvé, vyčkejte na dokončení prvotní inicializace nastavení. Nyní bychom měli vidět okno pro přihlášení k instanci databázového systému:

Login - Connect to Server - Microsoft SQL Server Management Studio Express

  • První položka je zešedlá (Server type). Ta nás zatím nemusí trápit - jedná se totiž o výběr typu databáze. Konkrétně se tu může objevit po doinstalování SQL Server Compact Edition pro mobilní zařízení. Pro všechny ostatní edice a verze ale platí defaultní hodnota, tedy Database Engine.
  • Server name - zde vepisujete do jakého databázového serveru se připojit. Jakým způsobem adresu skládat jsem poměrně intenzivně vysvětloval v předchozích dílech. Defaultní adresa “.\SQLEXPRESS” tedy znamená instance SQLEXPRESS na lokálním počítači.
  • Authentication - k přihlašování do SQL Serveru je možné obecně použít 2 zcela odlišné způsoby: Windows Authentication (přihlášení pomocí účtů ve Windows) nebo SQL Server Authentication (přihlašování jménem a heslem definovaném v SQL Serveru). Přihlašování a bezpečnost budu probírat v jednom z dalších článků. Zatím nám postačí Windows Authentication (použije se aktuální uživatelský účet, kterým jsme přihlášeni - proto je potřeba, aby byl administrátorský a my tak měli plný přístup do databáze).
  • Další volby pomocí tlačítka Options >>. Zde dostáváte možnost si zvolit konkrétní databázi, která se po přihlášení označí jako aktuální, což je pro nás zatím nepodstatné (aktuální databáze lze změnit pohodlně i po přihlášení). Další nastavení se pak týká připojení a komunikace. Zase jsou to věci pro nás celkem nepodstatné a základní nastavení je zatím zcela vyhovující.

Teď se přihlásíme. Máme vybraný server .\SQLEXPRESS (popřípadě jiný, pokud jste při instalaci experimentovali – viz. minulý článek) a zvolenou autentizaci přes účty Windows. Klepneme na Connect. Pokud je vše správně nastavené, podařilo se připojit k běžícímu databázovém serveru.

Hlavní okno SQL Server Management Studia

Po přihlášení se nám otevře hlavní okno SSMS:

SQL Server Management Studio

Nejdůležitější bude pro nás okno Procházení objektů (Object Explorer). Díky němu lze nahlížet na databázi jako na stromovou strukturu. Jednotlivé položky jsou totiž logicky oddělené do větví. Veškeré příkazy pro práci s databází jsou pak umístěné do kontextových menu u odpovídajících položek. Takový přístup zajišťuje především jednotnost uživatelského prostředí, přehlednost, intuitivní přístup a rychlost při prochází.

Ačkoliv je pro nás pochopení funkce Object Exploreru stěžejní, netvrdím, že je nutné ihned znát všechny položky, které nabízí – to by znamenalo znát i převážnou většinu funkcí a principů, které nabízí samotný SQL Server. Z toho důvodu popíšu jen nejzákladnější větve. Ty zvýrazním obrázkem žárovky tip (význam “nezvýrazněných” větví budu vysvětlovat v průběhu celého seriálu, proto je zde uvádím pouze pro informaci a nevysvětluji, k čemu slouží, ani jaké mají podpoložky).

Co tedy můžeme v okně Object Exploreru najít?

  Jméno Stručný popis větve Vysvětlení větve Funkce nabízející kontextové menu
 image Database server server (SQL Server verze uživatel) Databázový server Reprezentuje připojení k databázovému serveru. Text začíná adresou serveru a končí závorkou s verzí a přihlášeným uživatelem. Ovládání služby databázového serveru, vlastnosti databázového serveru, odpojení…
image

Folder Databases

Seznam databází Větev obsahuje všechny databáze databázového serveru. Vytvoření nové databáze, vytvoření databáze ze zálohy, připojení souborů databáze…
  FolderSystem Databases Seznam systémových databází Systémové databáze jsou interní databáze, které využívá SQL Server a jeho služby. Jejich funkce popíši později.  
image Database Jméno databáze Jedna databáze Reprezentuje jednu databázi. Obsahuje vše potřebné pro správu. Smazání databází, vytvoření / obnovení zálohy, přejmenování, vlastnosti…
  Folder closedDatabase Diagrams Databázové diagramy Nástroj pro vizuální znázornění tabulek a jejich vazeb. Vytvoření diagramu, zavedení podpory diagramů…
image FolderTables Tabulky Seznam tabulek databáze Vytvoření nové tabulky…
image Table Jméno tabulky Tabulka Reprezentuje jednu datovou tabulku v databázi Úprava tabulky, zobrazení dat tabulky, smazání tabulky…
image FolderColumns Sloupce tabulky Seznam všech sloupců tabulky Vytvoření sloupce…
image Column Jméno sloupce Sloupec Sloupec tabulky Smazání sloupce, úprava sloupce…
image FolderKeys Klíče tabulky Seznam všech klíčů tabulky Vytvoření nového klíče…
image Key Jméno klíče Klíč tabulky Klíč tabulky Smazání klíče, úprava klíče…
  Folder closedConstraints Validace řádků a defaultní hodnoty sloupců Seznam všech validačních pravidel a defaultních hodnot nevyplněných sloupců. Nové validační pravidlo…
  Folder closedTriggers Seznam triggerů tabulky Seznam všech automatických událostí spuštěných při modifikaci tabulky – triggerů. Nový trigger…
  Folder closedIndexes Seznam indexů Seznam všech indexů zajištující rychlejší dohledání záznamů. Vytvoření indexu…
  Folder closedStatistics Statistiky tabulky Seznam statistických záznamů. Jedná se o techniku k optimalizaci dotazů. Vytvoření statistik
  Folder closedViews Seznam pohledů Seznam pohledů v této databází. Vytvoření pohledu…
  Folder closedSynonyms Seznam synonym Seznam synonym v této databázi. Vytvoření synonyma…
  Folder closedProgrammability Seznamy programových rozšíření databáze Obsahuje funkce, uložené procedury, datové typy a odkazy na .NET knihovny. Reprezentuje programové rozšíření funkčnosti konkrétní databáze.  
  Folder closedService Broker Seznam a funkce technologie pro zasílání zpráv Service Broker je funkce umožňující bezpečnou asynchronní komunikaci s ostatními procesy.  
  Folder closedStorage Fulltextové katalogy Seznam fulltextových katalogů pro provádění pokročilého vyhledávání.  
  Folder closedSecurity Seznam zabezpečení databáze Obsahuje seznam uživatelů, rolí databáze a ručně definovaných rolí. Definuje zabezpečení na úrovni databáze.  
  Folder Security Seznam zabezpečení databázového serveru Seznam přihlašovacích loginů, rolí databáze a externích účtů. Definuje bezpečnost na úrovni celého databázového serveru.  
  FolderServer Objects Serverové objekty Seznam objektů společných pro celý databázový server / instanci.  
  Folder closed Backup devices Záložní zařízení Seznam záložních zařízení Nové záložní zařízení…
  Folder closedLinked servers Seznam připojených serverů Seznam napojení na cizí servery. Dovoluje připojovat databáze z jiné instance, či serveru.  
  Folder closedTriggers Seznam triggerů serveru Seznam automaticky spouštěných událostí vyvolaných změnami databázového serveru.  
  FolderReplication Replikace databází Nástroje a seznamy pro replikaci databází na jiný server. V SQL Server Express je tato funkce omezená.  
  FolderManagement Management databázového serveru Nástroje a seznamy funkcí plně využitelných ve vyšších edicích (například Policy Management).  

Tento přehled měl pouze nastínit možnosti a strukturu uspořádání větví v Object Exploreru. Jejich reálné využití a funkce budu popisovat v tematicky zaměřených kapitolách.

První kroky s databází – založení databáze

Na závěr této kapitoly vysvětlím založení nové databáze a několik souvisejících principů.

Pokud jste si pečlivě prošli tabulku popisující průzkumníka objektů (Object Explorer), víte o seznamu databází – položka Databases. Klepněte na ni pravým tlačítkem a z kontextového menu vyberte New Database pro vytvoření a připojení nové databáze.

New database

Zobrazí se nám dialog, se kterým se budete potýkat poměrně často:

New database

Toto okno je univerzálním dialogem pro operace nad databázemi. Ačkoliv obsah dialogu (stránky) se u jednotlivých prováděných operací mění, obecné funkce a bázový vzhled okna jsou stejné. To je důvod, proč se vyplatí si o oknu něco říct. Skládá se z těchto popsaných částí:

  • Výběr stránky – ne každý dialog se vejde na jednu stránku. Proto je většinou rozdělen na jednotlivé stránky. Například právě založení databáze má stránky 3 (General, Options a Filegroups).
  • Stránka – obsah dialogu se mění podle prováděné operace a zvolené stránky. Toto je místo, které slouží k nastavování konkrétní operace. Na obrázku vidíme stránku General pro zakládání nové databáze.
  • Připojení – toto je společná část pro všechny dialogy – informuje o stavu připojení (k jakému serveru jsme připojeni, jakým uživatelským jménem).
  • Stav operace – taktéž společný prvek. Ne všechny operace je možné provést za nezanedbatelný čas. Proto u delších operací zde vidíme z kolika procent je dokončena a případně, zda skončila neúspěchem, či úspěchem.
  • Generátor scriptu / Nápověda – opět společná část pro dialogy. Tlačítko “Script” je velmi důležité – dokáže usnadnit spoustu práce. Jak už jsem zmiňovat, SQL Server Management Studio je pouze vizuální generátor SQL skriptů, které spouští proti databázi. Proto jakákoliv operace (včetně založení databáze) znamená vyvolání SQL příkazu. Toto tlačítko dokáže podle aktuálního nastavení dialogu vytvořit skript, který by se jinak provedl po klepnutí na tlačítko OK. Skript dokáže uložit do textového souboru, nového okna nebo do schránky. Nám tak dává možnost si pohodlně naklikat změny a ty pak vyexportovat do skriptu, který je znovupoužitelný. Navíc pokud neděláte s databází denně alespoň několik hodin, nebudete si chtít pamatovat všechny přepínače SQL příkazů – vše si nastavit vizuálně může být příjemné.

Ale zpět k zakládání nové databáze.

V tomto dialogu nalezneme 3 stránky – General, Options, Filegroups.

Na stránce General naleznete tyto možnosti:

  • Database name – nejdůležitější a často jediné modifikované nastavení - jméno databáze – doporučuji používat pouze základní znaky. Jméno databáze nerozlišuje velikost písmen.
  • Owner – vlastník databáze. Tento uživatel má neomezený přístup k databázi (stejný jako administrátor). Bezpečnost budeme probírat až později. Nechejme tuto volbu na původním nastavení.
  • Database files – soubory databází. Seznam fyzických souborů, které budou databázi reprezentovat. Po dobu spuštění služby SQL Server budou zamčené hlavní instance databázové služby a nebude možné s nimi manipulovat. Každá databáze musí mít minimálně 2 soubory – datový (přípona mdf) a transakční log (přípona ldf). Jejich význam vysvětlím v dalších dílech. Soubory je možné přidávat i další – databázi je tak možné rozdělit z výkonnostních důvodů na několik souborů na různých discích. Toto nastavení opět necháváme na defaultních hodnotách – tedy vytvoření souborů mdf a lfd podle jména databáze do defaultní složky na ukládání databází (viz instalace).

Většinou nám bude takto nakonfigurovaná databáze stačit.

Pro zajímavost se ale podívejme i na druhou stránku, tedy Options. Ta nabízí celou řadu nastavení chování databáze. Jednotlivé položky nemá cenu rozebírat, dokud na ně nenarazíme. Nicméně jedná se často o nastavení velmi zásadní a jejich změna může zapříčinit nefunkčnost některých komponent, či jejich změněné chování. Proto moje rada zní: Nehrabat se v tom, pokud k tomu není důvod! Zde by mělo Collation (způsob řazení řetězců) zůstat na nastavení Server default a Recovery Mode (způsob obnovy a zachovávání změn) na Simple. Zajímavé je nastavení zpětné kompatibility - Compatibility level. To říká, jakou verzi má SQL Server vůči databázi předstírat. Jinými slovy, pokud nastavíte Compatibility level na SQL Server 2000, databáze využije maximálně funkcí z verze SQL Server 2000. Velmi užitečné, pokud chcete použít na novější verzi databázového systému starší databázi a nechcete řešit, zda je kompatibilní.

Stránka Filegroups slouží k nastavování souborových skupin – to využijeme jen při rozmístění databáze do více souborů na různé disky, popřípadě při využití funkce FILESTREAM (popíšu v samostatné kapitole).

Na závěr si konečně založme databázi pojmenovanou mojedb. Jediné nastavení bude jméno databáze na stránce General. Po potvrzení nalezneme databázi v seznamu Databases v object exploreru:

New database - mojedb - object explorer

Závěr

Dnešní díl si dával za úkol seznámení s nejzákladnějšími principy s SQL Server Management Studia. Měli byste získal základní představu funkci základního okna Object Exploreru a možnostmi univerzálního dialogu pro vytvoření skriptu – v podobě dialogu založení databáze.

Pokud máte dotazy, či připomínky, neváhejte je vyslovit v diskuzi pod článkem nebo emailovou zprávou. Budu rád, když napíšete, co se chcete v dalších dílech dozvědět.

 

hodnocení článku

1 bodů / 1 hlasů       Hodnotit mohou jen registrované uživatelé.

 

Všechny díly tohoto seriálu

 

Mohlo by vás také zajímat

Úvod do jazyka SQL

Mnoho lidí si myslí, že umí SQL, a náležitě to dávají ostatním najevo, a přitom netuší, že existuje příkaz JOIN. V tomto článku se podíváme na databáze úplně od začátku a naučíme se alespoň základní příkazy SELECT, INSERT, UPDATE a DELETE. Dojde i na ten slibovaný JOIN.

Začínáme s ASP.NET - díl 4.: Jednoduchá práce s daty v ASP.NET 2.0

V tomto díle se podíváme na propojení ASP.NET stránky s databází a na vytvoření jednoduché tabulky, která zobrazuje data. Ukážeme si také základy úprav vzhledu komponent pomocí kaskádových stylů.

Začínáme s ASP.NET - díl 5.: Jednoduché diskusní fórum

Po delší odmlce přichází pátý díl oblíbeného seriálu o programování v ASP.NET 2.0. V tomto díle si ukážeme, jak používat komponentu FormView pro přidávání záznamů do databáze. Také si ukážeme nejčastější útoky na webové aplikace a hlavně způsoby, jak jim zabránit. Také si předvedeme, jak validovat a kontrolovat vstupy uživatele jednoduše a spolehlivě.

 

 

Nový příspěvek

 

Přenos databáze z SQL 7

Dobrý den,

konečně někdo napsal velmi jednoduše pochopitelný článek o SQL. V práci právě řeším nový server pro intranetový web a naší interní databázi. Server pro web je instalovaný a plně funkční, SQL server jsem právě doinstaloval, ale teď mě čeká ten nejtěžší úkol - přenos databáze ze starého "serveru" (obyč PC s win XP a SQL 7) na ten nový. A tady přichází můj dotaz a prosba na Vás, mohl by mi tu někdo poradit, kde najdu nějaký srozumitelný návod, co vše je potřeba udělat a jak to vlastně celé provést, aby to fungovalo? Aktuální server má verzi SQL 2012 express.

Předem děkuji za jakoukoliv pomoc.

[email protected]

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Super článek

tak teď už vím, proč tam všechny ty položky jsou

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback