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
-
Co je databázový vztah?
-
Uvedení databáze do třetí normální formy (3NF)
-
Co je to přechodná závislost v databázi
-
Definice diagramu entita-vztah
-
Osobní vztahy v databázi
-
Jak referenční integrita zajišťuje konzistenci databáze
-
Vytváření databázových vztahů v Accessu
-
Základní klíče, které usnadňují správu databáze
-
Vložení databáze do první normální formy
-
Síla cizích klíčů v relačních databázích
-
Co je schéma databáze?
-
Glosář běžných termínů v databázi
-
Atribut databáze definuje vlastnosti tabulky
-
Determinanty a jejich role v databázi
-
Databáze pro začátečníky
-
Co je primární klíč?
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ů)