Datebanken a Tabellen erstellen SQL

Datebank eroflueden

Sidd Dir fäerdeg, fir Datenbanken a Dëscher mat der Strukturéierter Query Language ze schafen ? Dësen Artikel beschäftegt de Prozess vun der Erstellung vun Dëscher manuell mat der CREATE DATABASE a CREATE TABLE Kommandoen. Wann Dir nei SQL nei sidd, kënnt Dir Äert SQL Basics Artikel zuerst kucken.

Geschäftsbedéngungen

Eier mer op der Tastatur setzen, brauchen mir ze garantéieren datt mir e staarkt Verständnis vun de Clienten erfuerderlech sinn. Wat ass de beschte Wee fir dësen Insight ze kréien? Mir schwätzen mam Client, natierlech! Nodeem si mat dem XYZ's Human Resources Director gesat hunn, hunn mir geléiert datt se e Widget Verkafsgesellschaft sinn a si primär interesséiert fir Informatiounen iwwer hir Verkafspersonal ze verfolgen.

XYZ Corporation splitt hir Verkafkraaft an östlechen a westleche Regiounen, all eenzel an ass gedeelt op vill Gebidder, déi duerch eenzel Verkafsprénger bedeckt sinn. De Personaldirekter géif gär d'Territoire vum jeweilëge Mataarbechter abrauschen wéi och d'Bezuelungsinformatioun an d'Iwwerwaachungsstruktur. Fir dës Ufro ze erhalen, hunn mir eng Datebank entwéckelt vun dräi Dëscher, déi am Entity-Relationship Diagram op dëser Säit agefouert ginn.

Auswiel vun enger Datebankplattform

Mir hunn décidéiert eng Datenbank-Verwaltungssystem (oder DBMS) ze benotzen déi op der Strukturéierter Query Language (SQL) gebaut gëtt. Dofir musse all eis Datenbank- a Tabellenbildungsbefehl mat standard ANSI SQL geschriwwe ginn.

Als zousätzlech Virdeel, andeems ANSI-kompatibel SQL wäert garantéieren datt dës Kommandoen op all DBMS schaffen, déi den SQL-Standard ënnerstëtzen , zB Oracle a Microsoft SQL Server. Wann Dir keng Plattform fir Är Datebank gewielt hutt, fuert den Artikel Database Software Optionen duerch de Selektiounsprozess.

Datebank eroflueden

Eist éischt Schrëtt ass fir dës Datebank selwer ze erschafen. Vill Systemmanagementsystemer bastelen eng Rei vu Optiounen, fir Datenbankparameter an dësem Schrëtt anzebezéien, awer eis Datebank justéiert d'einfache Schafung vun enger Datebank. Wéi all eis Befehle wëllt Dir Iech d'Dokumentatioun fir Äre DBMS consultéieren fir festzestellen, ob eventuell erweidert Parameter vun Ärem spezifesche System Äre Bedürfnisser entspriechen. Loosst eis de Kommandéieren CREAT DATABASE fir eis Datebank ze setzen:

CREAT DATABASE Personal

Besonnesch Notizzung vun der Kapitaliséierung am exemplaresche Modell benotzt. Et ass gewéinlech Praxis ënnert SQL-Programméierer fir all Haaptbuchstaben fir SQL Stëchwierder wéi "CREATE" a "DATABASE" ze benotzen andeems sämtlech lowercase Briefe fir user definéiert Nimm wéi de "personal" Datebankenname benotzt. Dës Konventiounen erlaaben eng liicht Liwwerung.

Dës Tutorial liesen esou wéi mir Dëscher fir eis Datebank erstellen.

Léieren méi

Wann Dir gär méi iwwer d' Strukturéierter Query Sprooche léieren , liesen Iech SQL-Presentatioun oder mellt Iech fir eis Gratis-SQL-E-Mail Course.

Elo datt mir eis Datenbank entwéckelt hunn an eis geschaf ginn ass, si mer bereet fir déi dräi Tabellen ze schafen déi benotzt ginn fir Personalposten vun XYZ Corporation ze speparen. Mir wäerte déi Tabellen, déi mir am fréiere Portioun vun dësem Tutorial gemaach hunn, implementéiert.

Eis Éischt Dësch erstellen

Eis éischt Table besteht aus den perséinlech Daten fir all Mataarbechter vun eiser Firma. Mir mussen all Beschäftegnumm Numm, Gehalt, ID a Manager. Et ass gutt Designspraxis, déi lescht a éischt Numm an eenzelnen Felder ze trennen fir d'Recherche an d'Sortéierung an der Zukunft ze vereinfachen. Och gitt mir den jeweilegen Verwalter vum Personal unhand vun engem Verweis op d'Employeur ID vun den Manager an all Mataarbechter ze schécken. Loosst eis d'éischt e Bléck op d'gewënscht Ugestallt Dësch kucken.

De ReportsTo Attribut speichert d'Manager ID fir all Mataarbechter. Vun de gezeechten Beispiller weisen mir fest datt Sue Scampi de Manager vun Tom Kendall an John Smith ass. Allerdéngs gëtt et keng Informatioun an der Datebank iwwer de Manager vum Sue, wéi vun der NULLeeg fir seng Zeil uginn.

Elo kënne mir SQL benotzen fir den Dësch an eiser Personaldatenbank ze kreéieren. Ier mer dat maachen, lass eis sécher datt mir an der korrekter Datenbank sinn, andeems en UEFA Kommando ausgëtt:

Personaliséierung benotzt;

Alternativ, de "DATABASE Personal"; Kommando hätt déi selwecht Funktioun. Elo ka mir e Bléck op de SQL Kommando benotze fir eis Employeurentabelle ze kreéieren:

CREATE TABLE Mataarbechter (Employeeid INTEGER NËK NET, VARCHAR (25) NET NULL, VORCHAR (25) NOT NULL, reportsto INTEGER NULL);

Wéi an dësem Beispill bemierken datt d'Programméierungsconventioun diktéiert datt mir all Haaptbuchstaben fir SQL-Schlësselwieder oder klengbuchstabe Bréiwer fir Benotzer Benannte Säulen a Tabellen benotzen. D'Kommando uewen duerfir zimlech verwiessele sinn, awer et ass eigentlech eng einfacher Struktur hannert deem. Hei ass eng generaliséierter Sicht, déi e puer Saachen klären:

KËSTTEN Tabelle_Name (Attribut_Name Datebank, ..., Attribut_Name Datebankoptiounen);

Attributiounen an Dateiprees

Am Virbereedungsbeispill ass den Tabellebezunnen Mataarbechter a mir four Attributer: Mataarbechter, Virnumm, Virnumm, Reportage. De Datatype weist op d'Art vun Informatioun, déi mir an all Feld speichern wëllen. D'Employeur ID ass eng einfach Zuel Nummer, dofir benotze mir den INTEGER-Datatyp fir souwuel dem Mataarbechterfeld an de Reportsto Feld. D'Mataarbechterbezeechnunge ginn Zeechentricke mat variabelen Duerchlängt a mir erwächen keng Employé fir e Numm oder e leschten Numm méi laang wéi 25 Zeeche ze hunn. Dofir benotze mir de VARCHAR (25) Typ dës Felder.

NULL Wäerter

Mir kënnen och NULL oder NULL NULL an de Feldoptiounen vun der CREATE -Anweisung spezifizéieren. Dëst erzielt einfach d'Datebank, ob NULL (oder eidel) Wäerter fir dësen Attribut zousätzlech Zeilen an der Datebank zielen. An eisem Beispill exemplaréiert de Personaldirekter datt eng Employeur ID an de kompletten Numm fir all Employé gespäichert gëtt. Mä net all Mataarbechter huet e Manager - de CEO mellt Iech keen op! - sou datt mir NULL Entréen op deem Feld erlaabt. Remarkéiert datt NULL den Standardwäert ass an d'Auslaennung vun dëser Optioun implizit NULL Wäerter fir e Attribut gëtt.

Bau vun de Remaining Tables

Loosst eis e Bléck op d'Territoiter Dësch kucken. Vun e schnelle Bléck op dës Donnéeën, et gesäit datt mer eng ganz Integer a zwou variabel Längt stringen. Wéi an eisem preisent Beispill wäerte mir d'Region ID net erwaarden datt méi wéi 25 Zeeche verbrauchen. Allerdéngs sinn e puer Territoiren méi laang Nimm, also wäerte mer d'zulässlech Längt vum Attribut op 40 Zeechen erweiteren. Loosst eis op déi entspriechend SQL kucken:

CREAT TABLE Territoiren (territorial INTEGER NET NULL, Territoire Description VARCHAR (40) NET NULL, REGIONAL VARCHAR (25) NET NULL);

Endlech wäerte mir d'Tabelle "EmployeeTerritories" benotze fir d'Bezéiungen tëschent Employéen an Territoiren ze speparen. Detailéiert Informatiounen iwwer all Mataarbechter an Territoire sinn an eiser viregter zwou Dëscher gelagert. Dofir brauche mir nëmmen déi zwee Integer Identifikatiounsnummern an dëser Tabelle ze speparen. Wann Dir dës Informatioun erweideren braucht, kënne mir eng JOIN an eis Datenauswahlbefugunge benotze fir Informatiounen aus verschiddene Dëscher ze kréien. Dës Methode fir Daten ze gesiessert reduzéiert Redundanz an eiser Datebank an ass garantéiert optimale Gebrauch vu Weltraum op eise Lagerplazen. Mir deckt de JOIN Kommando aus enger Déift an en zukünfteg Tutorial. Hei ass de SQL Code fir eis Ofgerechtegkeet ze setzen:

CREATEN TABELLE Staffelreschter (Employeeid INTEGER NET NULL, territorial INTEGER NOT NULL);

De Mechanismus SQL bitt d'Struktur vun enger Datebank no der Schafft z'ënnerstëtzen

Wann Dir haut haut verwonnert ass, kënnt Dir bemierkt datt mir "versehentlech" ee vun den Designbedingunge wegginn wann eis Datebank Tabellen implementéiert sinn. Den HR Direktor vum XYZ Corporation huet befrot, datt d'Datebank vum Employeur Gehalschaftsinformatioun an eis vernoléissegt gi fir dat an de Datebab Dëscher déi mir geschafen hunn, ze bidden.

Allerdéngs geet et net verluer. Mir kënne den Befehl ALTER TABLE benotze fir dësen Attribut un eiser existéierter Datebank ze setzen. Mir wëllen de Gehalt als eng ganz Integer wielt. De Syntax ass ganz ähnlech wéi dee vum CREATE TABLE Kommando, hei ass et:

ALTER TABELLE Mataarbechter ADD Gehalt INTEGER NULL;

Bemierkung datt mir uginn datt NULL Wäerter fir dësen Attribut ass. An deene meeschte Fäll gëtt et keng Plaz wann Dir e Späicher fir eng existente Table ass. Dëst ass wéinst der Tatsaach, datt d'Tabelle schonn Zeilen enthält ouni Entree fir dësen Attribut. Dofir stinn de DBMS automatesch en NULL-Wert fir d'Liwwerung ze fëllen.

An dat ëmfaasst eis Bléck op d'SQL-Datenbank an d'Tabellenbildungsprozess. Kuckt et oft fir nei Remboursementer an eiser SQL Tutorial Serie. Wann Dir e Mail erënnert, wann nei Artikelen iwwer d'Datebases Säit hinzeweisen, seet sécher, fir eis Newsletter ze abonnéieren!