Skip to content

Úvod do databázových vztahů

17 de Červen de 2021
GettyImages 763160545 5a469015f1300a00377839f0

Podmínky databáze relační a vztah popsat způsob, jakým jsou data v tabulkách propojena. Relační databáze se skládá z řady dvou nebo více tabulek, které jsou propojeny konkrétním klíčem. Relační databáze se liší od nestrukturovaných databází, které jsou běžnější v masivních iniciativách s velkými daty. Relační databáze mají tendenci vyžadovat přísná pravidla o tom, jak jsou tabulky definovány a co představuje platný vztah mezi tabulkami. Vztahy umožňují účinným způsobem popsat spojení mezi různými databázovými tabulkami. Tyto vztahy lze poté využít k provádění výkonných dotazů mezi tabulkami, známých jako spojení.

Typy databázových vztahů

Existují tři typy databázových vztahů, každý pojmenovaný podle počtu řádků tabulky zapojených do relace. Každý z těchto tří typů vztahů existuje mezi dvěma tabulkami.

  • Osobní vztahy nastat, když má každá položka v první tabulce jeden a pouze jeden protějšek ve druhé tabulce. Individuální vztahy se používají jen zřídka, protože je často efektivnější umístit všechny informace do jedné tabulky. Někteří návrháři databází využívají tohoto vztahu vytvářením tabulek, které obsahují podmnožinu dat z jiné tabulky.
  • Vztahy jeden k mnoha jsou nejběžnějším typem databázového vztahu. Vyskytují se, když každý záznam v tabulce A odpovídá jednomu nebo více záznamům v tabulce B, ale každý záznam v tabulce B odpovídá pouze jednomu záznamu v tabulce A. Například vztah mezi tabulkou Učitelé a tabulkou Studenti na základní škole databáze by pravděpodobně byla vztahem jedna k mnoha, protože každý student má pouze jednoho učitele, ale každý učitel má několik studentů. Tento individuální design pomáhá eliminovat duplicitní data.
  • Vztahy mnoho k mnoha nastat, když každý záznam v tabulce A odpovídá jednomu nebo více záznamům v tabulce B a každý záznam v tabulce B odpovídá jednomu nebo více záznamům v tabulce A. Například vztah mezi tabulkou učitelů a kurzů by byl pravděpodobně mnoho- více, protože každý učitel může vyučovat více než jeden kurz a každý kurz může mít více než jednoho instruktora.

Vztahy odkazující na sebe: Zvláštní případ

Vztahy s vlastními odkazy se vyskytují, když je zapojena pouze jedna tabulka. Běžným příkladem je tabulka Zaměstnanci, která obsahuje informace o nadřízeném každého zaměstnance. Každý nadřízený je také zaměstnancem a má nadřízeného. V takovém případě existuje vztah typu self-referencování jeden na více, protože každý zaměstnanec má jednoho nadřízeného, ​​ale každý nadřízený může mít více než jednoho zaměstnance.

Vytváření vztahů s cizími klíči

Vztahy mezi tabulkami vytvoříte zadáním cizího klíče. Tento klíč řekne relační databázi, jak jsou tabulky související. V mnoha případech obsahuje sloupec v tabulce A primární klíče, na které odkazuje tabulka B. Zvažte znovu příklad tabulek učitelů a studentů. Tabulka Učitelé obsahuje pouze ID, název a sloupec kurzu:

Učitelé

ID instruktora Jméno učitele Kurs
001 John Doe Angličtina
002 Jane Schmoe Matematika

Tabulka Studenti obsahuje ID, jméno a sloupec cizího klíče:

Studenti

StudentID Jméno studenta Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Sloupec Teacher_FK v tabulce Studenti odkazuje na hodnotu primárního klíče instruktora v tabulce Učitelé. Návrháři databází často používají v názvu sloupce „PK“ nebo „FK“ ke snadné identifikaci sloupce primárního klíče nebo cizího klíče. Tyto dvě tabulky ukazují vzájemný vztah mezi učiteli a studenty.

Vztahy a referenční integrita

Po přidání cizího klíče do tabulky vytvořte omezení databáze, které vynutí referenční integritu mezi dvěma tabulkami. Tento krok zajišťuje, že vztahy mezi tabulkami zůstanou konzistentní. Pokud má jedna tabulka cizí klíč k jiné tabulce, vyžaduje referenční integrita, že jakákoli hodnota cizího klíče v tabulce B musí odkazovat na existující záznam v tabulce A.

Implementace vztahů

V závislosti na vaší databázi implementujete vztahy mezi tabulkami různými způsoby. Microsoft Access poskytuje průvodce, který umožňuje propojit tabulky a také vynutit referenční integritu. Pokud píšete přímo SQL, měli byste nejprve vytvořit tabulku Teachers, deklarovat sloupec ID jako primární klíč: CREATE TABLE Teachers (InstructorID INT AUTO_INCREMENT PRIMARY KEY,
Jméno učitele VARCHAR (100),
Kurz VARCHAR (100)
);

type = „code“> Když vytvoříte tabulku Students, deklarujete sloupec Teacher_FK jako cizí klíč odkazující na sloupec InstructorID v tabulce Teachers: CREATE TABLE Students (
PRVNÍ KLÍČ StudentID INT INT AUTO_INCREMENT,
Student_Name VARCHAR (100), Teacher_FK INT,
ZAHRANIČNÍ KLÍČ (Teacher_FK) REFERENCE Učitelé (ID instruktora))
);

zadejte = „kód“>

Používání vztahů ke spojení tabulek

Poté, co jste vytvořili jeden nebo více vztahů ve své databázi, využijte jejich sílu pomocí dotazů SQL JOIN ke kombinování informací z více tabulek. Nejběžnějším typem spojení je SQL INNER JOIN, což je jednoduché spojení. Tento typ spojení vrátí všechny záznamy, které splňují podmínku spojení z jedné nebo více tabulek. Například tato podmínka JOIN vrací Student_Name, Teacher_Name a Course, kde cizí klíč v tabulce Students odpovídá primárnímu klíči v tabulce Teachers: SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
OD studentů
VNITŘNÍ PŘIPOJENÍ učitelů
ON Students.Teacher_FK = Teachers.InstructorID;

type = „code“> Tento příkaz vytvoří tabulku podobnou této:

Vrácená tabulka z příkazu SQL join

Kurz Student_Name Teacher_Name
Lowell Smith John Doe anglicky
Brian Short John Doe anglicky
Corky Mendez Jane Schmoe matematika
Monica Jones John Doe anglicky

class = „ql-syntax“> Více od Lifewire

  • Graf na obrazovce počítače.

    Co je databázový vztah?

  • Programátor databází pomocí notebooku u stolu v domácí kanceláři

    Uvedení databáze do třetí normální formy (3NF)

  • Muž s notebookem

    Co je to přechodná závislost v databázi

  • Diagram vztahu mezi entitami

    Definice diagramu entita-vztah

  • Žena s výhledem na serverovnu

    Osobní vztahy v databázi

  • Databáze v počítači

    Jak referenční integrita zajišťuje konzistenci databáze

  • Grafika červené tužky popisující databázové vztahy

    Vytváření databázových vztahů v Accessu

  • Vysoký úhel pohledu techniků pracujících v serverovně

    Základní klíče, které usnadňují správu databáze

  • Podnikatel pomocí počítače v místnosti virtuálního serveru.

    Vložení databáze do první normální formy

  • Dva muži při pohledu na obrazovku počítače

    Síla cizích klíčů v relačních databázích

  • Rozložení schématu databáze

    Co je schéma databáze?

  • Digitální ztvárnění počítačového kódu a spojovacích linek představujících databázi

    Glosář běžných termínů v databázi

  • Obchodní lidé diskutovat o notebooku u stolu na schůzce

    Atribut databáze definuje vlastnosti tabulky

  • Správce databáze pracující u stolu

    Determinanty a jejich role v databázi

  • Mladý chlapec student programování na počítači v temné učebně

    Databáze pro začátečníky

  • Karty sociálního zabezpečení

    Co je primární klíč?

Záchranný drát

Následuj nás

  • Facebook

  • O nás
  • Inzerovat
  • Zásady ochrany osobních údajů
  • Zásady používání souborů cookie
  • Kariéra
  • Redakční pokyny
  • Kontakt
  • Podmínky použití
  • Ochrana osobních údajů v EU
  • Oznámení o ochraně osobních údajů v Kalifornii
  • DŮVĚRYHODNÉ

Vaše práva na soukromí

Lifewire a naši partneři třetích stran používají soubory cookie a zpracovávají osobní údaje, jako jsou jedinečné identifikátory, na základě vašeho souhlasu s ukládáním a / nebo přístupem k informacím v zařízení, zobrazováním personalizovaných reklam a pro měření obsahu, přehled publika a vývoj produktů. Chcete-li změnit nebo odvolat váš výběr souhlasu pro Lifewire.com, včetně vašeho práva vznést námitku, kde je použit oprávněný zájem, klikněte níže. Nastavení můžete kdykoli aktualizovat pomocí odkazu „Ochrana osobních údajů v EU“ v dolní části jakékoli stránky. Tyto volby budou globálně signalizovány našim partnerům a nebudou mít vliv na data procházení. Seznam partnerů (prodejců)

My a naši partneři zpracováváme údaje pro:

Aktivně pro identifikaci skenujte vlastnosti zařízení. Používejte přesná geolokační data. Ukládejte a / nebo přistupujte k informacím na zařízení. Vyberte přizpůsobený obsah. Vytvořte si vlastní profil obsahu. Měření výkonu reklamy. Vyberte základní reklamy. Vytvořte si přizpůsobený profil reklam. Vyberte přizpůsobené reklamy. Aplikujte průzkum trhu a získejte přehled o publiku. Měření výkonu obsahu. Vyvíjejte a vylepšujte produkty. Seznam partnerů (prodejců)