Databases en tabellen yn SQL meitsje

De databank oanmeitsje

Binne jo klear om oan te meitsjen fan databases en tabellen mei de Struktureare Query-taal ? Yn dit artikel ûndersykje wy it proses fan it meitsjen fan tabellen mei de CREATE DATABASE en CREATE TABLE kommando's. As jo ​​nije SQL binne, kinne jo it earste artikel fan SQL Basics besjen .

Bedriuwbedriuwen

Foardat wy oan it toetseboerd sitte, moatte wy soargje dat wy in fêst begryp fan de easken fan de klanten hawwe. Wat is de bêste manier om dizze ynsjoch te krijen? Sprekke mei de klant, fansels! Nei't se mei XYZ's Human Resources Directors sieten, hawwe wy leard dat se in widget-ferkeapbedriuw binne en binne benammen ynteressearre yn it folgjen fan ynformaasje oer harren ferkeaperpersoniel.

De XYZ Corporation ûnderskiedt harren ferkeapskrêft yn eastlike en westlike regio's, elk fanwege dielen yn in protte territoaren dy't troch yndividuele ferkeaprepens binne. De ôfdieling fan 'e holle liket it gebiet dy't troch elke meiwurker bepaald is, en elke wurkerynformaasje en opsjochstruktuer. Om dizze easken te ferwêzentlikjen, hawwe wy in database makke dy't bestiet út trije tabellen, te sjen yn it Entity-Relationship-diagram op dizze side.

Kies in platfoarm platfoarm

Wy hawwe besletten om in database-behearsysteem (of DBMS) te brûken dy't op 'e Structured Query Language (SQL) boud is. Dêrom moatte alle gebieden fan ús databank en tafoegeskomst wurde skreaun mei standert ANSI SQL yn 'tens.

As tafoege oanfolling, wurdt gebrûk fan ANSI-konforme SQL soargje dat dizze kommando's op alle DBMS wurkje dy't de SQL-standert stypje, lykas Oracle en Microsoft SQL Server. As jo ​​noch gjin platfoarm foar jo database selektearre hawwe, giet it artikel databank softwareopsjes troch jo seleksjeproses.

De databank oanmeitsje

Us earste stap is om de database sels te meitsjen. In protte database bestânsysteem biede in rige opsjes foar oanpasse databankparameters by dizze stap, mar ús database kin allinich de ienfâldige skepping fan in database. As mei al ús kommando's, kinne jo it dokumintaasje kontrolearje foar jo DBMS om te bepalen as elke oanpassingen fan jo spesifike systeem stipe binne oan jo behoeften. Litte wy it kommando CREATE DATABASE brûke om ús database oan te meitsjen:

Kêst DATABASE persoanlik

Meitsje spesjale notysje fan 'e kapitalisaasje dy't yn it foarbyld boppe brûkt wurdt. It is in gewoane praktyk ûnder SQL-programmers om alle haadletters foar SQL-kaaiwurden te brûken lykas "CREATE" en "DATABASE", wylst alle lytse letters foar brûker-define nammen lykas de namme "persoanlike" database brûke. Dizze konvenanten soargje foar maklik lêsberens.

Lês dit tutorial as jo tabels meitsje foar ús database.

Learje mear

As jo ​​mear leare wolle oer de Struktureare Query Taal , lês Ynlieding by SQL lêze of jo kinne jo oanmelde foar ús frije Learning SQL e-postkursus.

No dat wy ús database ûntwikkele en makke hawwe, binne wy ​​klear om te begjinnen mei it meitsjen fan de trije tabellen dy't brûkt wurde om persoanlike gegevens fan XYZ Corporation te bewarjen. Wy sille de tabellen útfiere dy't wy yn 'e foarige part fan dit praktyk ûntwurpen hawwe.

De earste tabel oanmeitsje

Us earste tabel bestiet út de persoanlike gegevens foar elke meiwurker fan ús bedriuw. Wy moatte de namme, salaris, ID, en behearder fan elke meiwurker opnimme. It is in goede ûntwerppraktyk om de lêst en earste nammen te ûnderskieden yn ûnderskate fjilden om de data te sykjen en te sortearjen yn 'e takomst. Ek sille wy elk meiwurkers kontrolearje troch troch te jaan in referinsje nei de meiwurker fan de behearder fan 'e behearder yn elke meiwurkersrapport. Litte wy earst in sjogge nei de winske wurknimmer.

It ReportsTo-attribus bewarret de manager-ID foar elke wurknimmer. Fan 'e ôfbyldingsrapporten kinne wy ​​bepale dat Sue Scampi de manager fan beide Tom Kendall en John Smith is. Dochs is der gjin ynformaasje yn 'e database foar Sue's manager, lykas oanjûn troch de NULL-yngong yn har rige.

No kinne wy ​​SQL brûke om de tafel yn ús persoanlike database te meitsjen. Foar't wy dat dogge, litte wy derfoar soargje dat wy yn 'e krekte databank binne troch it útjaan fan in USE kommando:

Persoanlik brûke;

Alternatyf is it "DATABASE personnel;" kommando soe deselde funksje útfiere. Nu kinne wy ​​in sjoch op it SQL-kommando brûke om ús personielstafel te meitsjen:

CREATE TABLE meiwurkers (meiwurker INTEGER NOT NULL, efternamme VARCHAR (25) NOT NULL, foarnamme VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

As mei it hjirboppe foarbyld is, markearje dat programming-konvinsje diktaat dat wy alle haadletters brûke foar SQL-kaaiwurden en lytse letters foar brûkersnamme-kolommen en tabellen. It boppesteande kommando kin earst misledigje, mar it is eins in ienfâldige opbou. Hjir is in generalisearre werjefte dat dingen in bytsje wiskje kin:

CREATE TABLE table_name (attribute_name datatype-opsjes, ..., attribute_name datatype-opsjes);

Attributen en datatypen

Yn it foargeande foarbyld is de tabelnamme wurknimmers en wy bepale fjouwer attributen: meiwurker, lastname, foarnamme, rapportsto. De datatype markearret it type ynformaasje dy't wy op elk fjild bewarje wolle. De meiwurker ID is in ienfâldige ynteger nûmer, dus sille wy de INTEGER-datatype brûke foar sawol it meiwurkersfjild en it reportsto-fjild. De meiwurkernammen sille tekenrige fan variable fariant wêze en wy ferwachtsje net dat elke meiwurker in ljepper of lêst nedich is as 25 tekens. Dêrom sille wy it type VARCHAR (25) brûke foar dizze fjilden.

NULL Werjeften

Wy kinne ek NULL of NOT NULL oanjaan yn it opsjesfjild fan de CREATE-deklaraasje. Dit fertelt gewoanwei de databank oft NULL (of lege) wearden tagelyk tastien binne foar dat attribute as jo tafoegje oan de database. Yn ús foarbyld freget de ôfdieling fan HR dat in personiel-ID en folsleine namme foar elke meiwurker opslein wurde. Wol is net elke meiwurker in manager - de CEO rapportearret nei gjinien! - sadat wy NULL-yngongen yn dat fjild jouwe. Tink derom dat NULL de standertwearde is en dizze opsje útlizze sil negearje NULL-wearden foar in attribút.

Bouwen De Remye Tables

Litte wy no ris sjen nei de territoariumtafel. Ut in rappe útsjoch op dizze gegevens is it bliken dat wy in integer en twa fariabele lingstrings opslaan moatte. As mei ús foarige foarbyld lykwols, ferwachtsje wy de Region ID net mear as 25 tekens. Guon fan ús gebieten hawwe lykwols langer nammen, sadat wy de taheakke lingte fan dat attribút oan 40 tekens útwreidzje. Litte wy sjen nei de oerienkommende SQL:

KRIETSE TABLE territoaries (territoarium INTEGER NOT NULL, territoaria Description VARCHAR (40) NET NULL, regionid VARCHAR (25) NOT NULL);

Uteinlik sille wy de Tabel EmployeeTerritories brûke om de relaasjes tusken meiwurkers en gebieten te bewarjen. Detaillearre ynformaasje oer elke meiwurkers en gebiet wurdt opslein yn ús foarige twa tabellen. Dêrom moatte wy allinich de twa ynteger identifikaasjenûden yn dizze tabel opslaan. As wy dizze ynformaasje útwreidzje moatte wy in JOIN brûke yn ús gegevens-seleksoarten om ynformaasje te krijen fan meardere tabellen. Dizze metoade foar it bewarjen fan gegevens rediget redundans yn ús databank en soarget foar optimaal gebrûk fan romte op ús opsjennings. Wy sille it JOIN kommando yndjippe yn in takomstige tutorial dekke. Hjir is de SQL-koade om ús lêste tabel út te fieren:

CREATE TABLE meiwurkersrjochten (meiwurker INTEGER NICHT NULL, territorium INTEGER NICHT NULL);

De Mechanism SQL Stelt de Struktuer fan in Databank nei de skepping te feroarjen

As jo ​​hjoed de dei nuodlik binne, kinne jo miskien sjoen hawwe dat wy "ûngedien" ien fan 'e ûntwerp easken hawwe doe't jo ús database tabellen útfiere. De direkteur fan 'e XYZ Corporation frege dat de persoanlike salaris-ynformaasje fan de databank spoaren en wy soargje foar dat te meitsjen yn de database tabellen dy't wy makke wiene.

Alles is lykwols net ferlern. Wy kinne it kommando ALTER TABLE brûke om dit attribus ta te foegjen oan ús besteande databank. Wy wolle it salaris as in hiele wearde opslaan. De syntaksis is hielendal ferlykber mei dy fan it Kommando CREATE TABLE, hjir is it:

ALTER TABLE meiwurkers ADD salaris INTEGER NULL;

Tink derom dat wy oantsjutte dat NULL-wearden foar dit attribút tastien binne. Yn 'e measte gefallen is der gjin opsje as jo in kolom taheakje oan in besteande tabel. Dit is fanwege it feit dat de tabel al rigen befettet mei gjin tagong foar dit attribút. Dêrom stipet de DBMS automatysk in NULL wearde om de foltôch te foljen.

En dat makket ús sjogge op 'e SQL-database en tabel-skeppingproses. Kontrolearje faak foar nije ynstallaasjes yn ús SQL-tutorialserie. As jo ​​in opmerklike e-postadres hawwe wolle as nije artikels tafoegje oan 'e website Oer Databases, moatte jo der wis fan wêze om jo nijsbrief te meitsjen!