sql >> Databáze >  >> RDS >> Mysql

Co je schéma databáze?

Z hlediska databáze, schéma (vyslovuje se „skee-muh“ nebo „skee-mah“) je organizace a struktura databáze. Obě schémataschémata lze použít v množném čísle.

Schéma obsahuje objekty schématu, což mohou být tabulky, sloupce, datové typy, pohledy, uložené procedury, vztahy, primární klíče, cizí klíče atd.

Databázové schéma lze znázornit ve vizuálním diagramu, který ukazuje objekty databáze a jejich vzájemný vztah.

Výše je jednoduchý příklad schématu. Zobrazuje tři tabulky spolu s jejich datovými typy, vztahy mezi tabulkami a také jejich primárními a cizími klíči.

Zde je složitější příklad schématu databáze:

V tomto případě je schéma schéma rozděleno do čtyř částí:

  • Údaje o zákaznících :Údaje související se zákazníky, jako je jejich jméno, adresa atd
  • Obchodní :Údaje potřebné k provozování firmy, jako jsou zaměstnanci, umístění prodejen, platební údaje atd
  • Inventář :Podrobnosti o všech produktech. V tomto případě jsou produkty filmy, takže obsahuje údaje, jako je název filmu, jeho kategorie, herci atd.
  • Zobrazení :Speciální pohled na data použitá pro hodnocení.

Když se tedy podíváme na tyto schémata, mohli bychom pokračovat a vytvořit databázi. Ve skutečnosti vám MySQL Workbench umožňuje vygenerovat CREATE TABLE skript přímo z diagramu. Poté můžete pomocí skriptu vytvořit databázi. Databázi můžete dokonce zpětně analyzovat do diagramu.

Je schéma a databáze totéž?

Pokud jde o databáze, existuje mnoho zmatků ohledně schémat. Často vyvstává otázka, zda existuje rozdíl mezi schématy a databázemi, a pokud ano, jaký je rozdíl.

Závisí na prodejci

Částečným důvodem zmatku je, že databázové systémy mají tendenci přistupovat ke schématům svým vlastním způsobem.

  • Dokumentace MySQL uvádí, že fyzicky schéma je synonymem pro databázi . Proto je schéma a databáze totéž .
  • Dokumentace k databázi Oracle však uvádí, že určité objekty lze uložit do databáze, ale nikoli do schématu. Proto jsou schéma a databáze dvě různé věci .
  • A podle tohoto technického článku o SQL Serveru je schéma samostatnou entitou uvnitř databáze. Jsou to tedy dvě různé věci .

Takže v závislosti na RDBMS, který používáte, schémata a databáze mohou, ale nemusí být totéž.

A co standard SQL?

Standard ISO/IEC 9075-1 SQL definuje schéma jako trvalou, pojmenovanou kolekci deskriptorů .

Pokud jste byli předtím zmatení, doufám, že jsem to jen nezhoršil…

Široký význam

Dalším důvodem nejasností je pravděpodobně skutečnost, že výraz schéma má tak široký význam. Má různé konotace v různých kontextech.

Slovo schéma pochází z řeckého slova skhēma , což znamená formačíslo , tvar nebo plánovat .

Schéma se v psychologii používá k popisu organizovaného vzorce myšlení nebo chování, který organizuje kategorie informací a vztahy mezi nimi.

Před návrhem databáze se také musíme podívat na kategorie informací a vztahy mezi nimi. Musíme vytvořit koncepční ještě předtím, než začneme s fyzickým schéma v rámci DBMS.

Při vývoji softwaru, když se diskutuje o schématech, lze diskutovat o koncepčních schémata, fyzická schémata, interní schémata, externí schémata, logická schémata atd. Každý z nich má svůj vlastní specifický význam.

Definice schémat od DBMS

Zde je rychlá definice schématu ze tří předních databázových systémů:

MySQL

Koncepčně je schéma množina vzájemně propojených databázových objektů, jako jsou tabulky, sloupce tabulek, datové typy sloupců, indexy, cizí klíče atd.

….

V MySQL je fyzicky schéma je synonymem pro databázi . Můžete nahradit klíčové slovo SCHEMA místo DATABASE v MySQL SQL syntaxi, například pomocí CREATE SCHEMA místo CREATE DATABASE .

Zdroj: „MySQL Glossary“. Referenční příručka MySQL 5.7. MySQL. Získáno 6. června 2016.

SQL Server

Názvy tabulek, polí, datových typů a primárních a cizích klíčů databáze.

"Glosář". Technická dokumentace SQL Server 2016. Microsoft Developer Network. Získáno 6. června 2016.

 Databáze Oracle

Systém schémat Oracle Database je zcela odlišný od ostatních systémů. Schéma Oracle je velmi svázáno s uživatelem databáze.

Schéma je sbírka logických struktur dat nebo objektů schématu. Schéma je vlastněno uživatelem databáze a má stejné jméno jako tento uživatel. Každý uživatel vlastní jedno schéma.

Zdroj: „Objekty databáze“. Oracle Database Online Documentation 12c Release 1 (12.1). Centrum nápovědy Oracle. Získáno 6. června 2016.

Tento článek o definicích schémat od DBMS poskytuje více podrobností.

Vytváření schémat

Navzdory rozdílům v definování schémat každý ze tří výše uvedených DBMS podporuje CREATE SCHEMA prohlášení.

A tím podobnost končí.

MySQL

V MySQL CREATE SCHEMA vytvoří databázi.

Důvodem je CREATE SCHEMA je synonymem pro CREATE DATABASE . Jinými slovy, můžete použít CREATE SCHEMA nebo CREATE DATABASE udělat to samé.

Databáze Oracle

V databázi Oracle CREATE SCHEMA příkaz ve skutečnosti nevytváří schéma. Je to proto, že schéma je již vytvořeno s každým uživatelem databáze.

V Oracle je to CREATE USER příkaz vytvoří schéma.

V Oracle CREATE SCHEMA příkaz umožňuje naplnit vaše schéma tabulkami a pohledy a udělit těmto objektům oprávnění, aniž byste museli zadávat více příkazů SQL ve více transakcích.

SQL Server

V SQL Server CREATE SCHEMA vytvoří schéma podle názvu, který mu zadáte.

Na rozdíl od MySQL, CREATE SCHEMA vytvoří schéma, které je definováno samostatně k databázi.

Na rozdíl od Oracle, CREATE SCHEMA příkaz ve skutečnosti vytváří schéma.

V SQL Server, jakmile vytvoříte schéma, můžete do něj přidat uživatele a objekty.

Závěr

Termín schéma lze použít v mnoha různých kontextech. V kontextu vytváření schémat v konkrétním systému správy databází budete muset pracovat s tím, že DBMS schémata definuje.

A když přejdete na nový DBMS, nezapomeňte se podívat, jak tento systém definuje schémata.


  1. načíst vícenásobné sloupce seskupit podle data intervall

  2. Jak LocalTime() funguje v PostgreSQL

  3. Vyberte z jedné tabulky, kde v jiné ne

  4. Zlepšení údržby oddílu pomocí přírůstkové statistiky