Daxuyaniyên hevpar ên di Databases Designê de çêkir

Heke hûn bi databasesek digerin ku bi sedan rexne an jî bi milyonan rexne dike, dîzamên danûstendinê ya herdem herdem girîng e. Ne tenê wê wê agahdariya zehf hêsantir bistînin, ew ê jî di pêşerojê de dahatûra berfirehtir dike. Mixabin, ew hêsantir e ku çend xefên ku di pêşerojê de dijwar dibe tiştek zehmet e.

Vê kitêbên ku li ser mijara normalkirina daneyên danûstendinê de nivîsîn hene hene, lê heke hûn tenê ji van çewtiyên hevpar bipeyivin, hûn ê di rêbazê daneyên daneyên baş ên rast de bibin.

Daxuyaniya Dokument # 1: Dersên Dibêjin Di Tabanek de

Rêjeya bingehîn ya bingehîn ya ji bo sêwirana danûstendinê ya baş e ku ew daneyên dubare dike û ji wan re li sifrê xwe vedigire. Zeviyên rûniştî li ser maseya wan ji bo kesên ku ji cîhana spîhehek hatibûne hevpar e, lê gava ku spiya pêdiviyên bi designê bi xanî têne kirin, databases divê girêdayî ye. Ew ji 2D heta 3D dibe.

Bi dilfikir, zeviyên paşengî bi gelemperî hêsan e. Tenê li ser vê tabloyê binêrin:

OrderID Product1 Product2 Product3
1 Teddy Bears Jelly Beans
2 Jelly Beans

Çawa ku biryara çar hilberan heye heye? Em ê hewce ne ku ji qada sêwirdariyê re piştgirî bidin qada dinê. Û heke hema me li ser dorpêçê mêvandariyek ava kir ku ji bo me daneyên danûstandina me bike, em pêdivî ye ku em bi vê qada hilberê hilbijêre biguherînin. Û em çawa li gel jellybeans hemû biryarên emê bibînin? Em ê diçin ku hûn li ser maseya her hilberê li ser maseya bi SQL-ê daxuyaniyek bixwazin ku ji xwe re binêrin: SELECT * Ji BERSÎVÊ DE BERSÎVÊ PRODUCTION 1 = 'Jelly Beans' OR Product2 = 'Jelly Beans' یا Product3 = 'Jelly Beans'.

Li şûna yekemek heye ku hemî agahî agahdar dike, divê me sê têdan hene ku her kesek agahdariyek zelal e. Di vê nimûneyê de, em ê li ser agahdariya li ser armanca xweyê, dixwazin tabloya hilberê me û hilberên Product Products ku ji bo hilberan ve girêdayî ye.

OrderID CustomerID Dîroka Dîroka Hemî
1 7 1/24/17 19.99
2 9 1/25/17 24.99
ProductID Mal Jimartin
1 Teddy Bears 1
2 Jelly Beans 100
ProductOrderID ProductID OrderID
101 1 1
102 2 1

Hişyar bikin ka her teyrê çawa zeviya nasnameya xwe ya yekane ye. Ev kêşeya bingehîn e. Em tîlên bi karûbarên sereke yên sereke wekî kûrek biyanî di nav maseyeke din de girêdayî. Li ser kêşeyên bingehîn û keyên biyanî bixwînin.

Daxuyaniya Dîtan # 2: A Table di Tablikê de

Ev çewtiyek din jî hevpar e, lê her tim her dem bi qasî wekî zeviyên davêjî nemîne. Dema ku damezirandina danûstendinê, hûn dixwazin ku hemî daneyên di tabloyê de bi xwe re pêwendî bikin. Ew mîna ku lîstikek zarokê li ser dorpêçkirina tiştên cuda ye. Heke kenana we, strawberry, pach û rûniştina televîzyonê, dibe ku belaş televîzyonê hinek cîhek heye.

Di heman rengan de, heke we li maseya mirovên firotanê, hemî agahî li ser maseyê divê bi taybetî bi firotanê kesê ve girêdayî ye. Her kesek agahdariyên ku ne bi tenê kesek firotanê ne, dibe ku di nav databa we de cîhekî din in.

SalesID Yekem Dawîn Navnîşan Jimare telefon Dayre OfficeNumber
1 Sam Elliot 118 Main St, Austin, TX (215) 555-5858 Austin Downtown (212) 421-2412
2 Elice Smith 504 2nd Street, New York, NY (211) 122-1821 New York (Rojhilata Navîn) (211) 855-4541
3 Joe Civat 428 Aker St, Austin, TX (215) 545-5545 Austin Downtown (212) 421-2412

Dema ku ev tehlîm dikare bibînin mîna hemû firotanê ya takekesî ye, ew e ku di tabloyê de li ser masê heye. Hişyar bikin ka çawa Office and OfficeNumber bi "Austin Downtown" re dubare bike. Heke ku hejmareke telefona fermî veguherîne? Hûn hewce ne ku ji bo tevahî daneyên daneyên ji bo yek yek parçeya agahiyê biguherînin, ku tiştek tiştek baş nabe. Divê van zeviyên bêne ser maseya xwe.

SalesID Yekem Dawîn Navnîşan Jimare telefon OfficeID
1 Sam Elliot 118 Main St, Austin, TX (215) 555-5858 1
2 Elice Smith 504 2nd Street, New York, NY (211) 122-1821 2
3 Joe Civat 428 Aker St, Austin, TX (215) 545-5545 1
OfficeID Dayre OfficeNumber
1 Austin Downtown (212) 421-2412
2 New York (Rojhilata Navîn) (211) 855-4541

Vê rengê vê şêwirmendê we ji bo ku hûn agahdariya bêtir agahdariyê daîreya nivîsgehê bêyî şexsî ya şehîdê di nav maseya firotanê de zêde bikin. Bifikirin ka ew çiqas karê wê bi tenê bi hesabê navnîşan, bajar, dewletê û zipê bigire heke heke agahdariya ku di merivê şexsê de firotanê bûye!

Daxuyaniya Dîtan # 3: Dema Duyen an Gelek Piçeyên Agahdariyê Li Dersa Yek Single

Agahdarî agahdariya nivîsgeha navnîşê ya tabloya firotanê ne tenê pirsgirêkek digel databan. Di navnîşa navnîşan de sê parçeyên agahdariyê de: navnîşa kolanê, bajar û dewletê. Her qadê di nav databan divê tenê yek parçe agahdariyê. Dema ku hûn di çarçoveya yekjimar de pir agahdar hene, ew dikare dibe ku ji bo agahdariya daneyên daneyê bipirsin.

Ji bo nimûne, ka çi em dixwazin dixwazin pirsên xelkê ji Austin re bipirsin? Em ê hewce ne ku di navnîşana navnîşan de lêgerîn, ku ne tenê ne berbiçav, lê dikare agahdariya xerab xerab bike. Wekî din, çi dibe eger kesek li kolana Austin li Portland, Oregon?

Li vir çi ye ku maseya xuya ye?

SalesID Yekem Dawîn Navnîşan 1 Address2 Bajar Rewş Zip Telefonê
1 Sam Elliot 118 Main St Austin TX 78720 2155555858
2 Elice Smith 504 2nd St Nûyork NY 10022 2111221821
3 Joe Civat 428 Aker St Apt 304 Austin TX 78716 2155455545

Li wir hin tişt hene ku ji vir re binivîsînin. Yekem, "Address1" û "Address2" dê di bin xeletiyên xetal de bimînin.

Lê belê, di vê rewşê de ew behsa dabeşên daneyên cuda yên ku bi rasterast bi kesek firotanê ve girêdayî ye, ji bilî komên danûstendinê yên ku divê di maseya xwe de diçin.

Her weha, wek ku çewtiyek bonus ji ber ku ji ber xwe ve veqetin, ji we re diyar dike ku çawa çêkirina şîfreya telefonê ji sifrê ve hatibû veşartin. Divê hûn ji ber ku hûn her tiştî de hilberandina qadên xilas bikin. Heke hejmara hejmarên telefonê, gelek rêbaz hene ku mirov hejmara telefonê binivîsin: 215-555-5858 an jî (215) 555-5858. Ev dê ji bo kesek firotanê ji hêla hejmara telefona wan re an lêgerînek mirovên firotanê digerin ku di heman heman qodê de zehmet e.

Daxuyaniya Dîtan # 4: Ne Pêçoveya Kûçeya Peldanka Reqê Nayê

Di piraniya rewşan de, hûn dixwazin ku hejmareka xwe ya yekem an jî hejmareke din an jî alphanumerîk bikar bînin ji bo kûçeya sereke ya sereke. Divê hûn ji bo agahdariya sereke ya ku tu dixwaze ew ê nasnameyekî baş çêbigere bikar bînin ku ji ber agahdariya rastîn bikar bînin.

Ji bo nimûne, em her kes xwedî hejmara xwe ya ewlehiya civakî ya sîgorteyê ye, da ku hejmareke ewlehiya civakî ya ji bo daneyên karmendê karmendek dikare wekî ramana baş be. Lê belê dema ku kêm, hejmareke hejmareke hejmareke ewlehiya sosyal ya ji bo guhertinê ye, û tu caran carî sereke yê sereke dixwaze biguherînin.

Û ev pirsgirêk e ku agahdariyên rastîn wekî wekî nirxa sereke ye. Ew dikare biguherîne.

Daxuyaniya Dîtan # 5: Nabe ku Peymana Navneteweyî Bikaranîna Bikaranîna

Ev dibe ku hûn wek pêşniyara xwe damezirandin, gava ku hûn destpêkê damezirandina xwe damezirandin, lê piştî ku hûn têgihîştinê li ser daneyên danûstandinê li ser databases bistînin, ji bo agahiyê bistînin, ku navê namzedê dê dê navên ku hûn navê navnîşên memorîzmê bikin.

Tenê bifikirin ku çiqas pêvajoy dê pir navê dijîn, wekî FirstName, LastName di yek tablo û yekem_name, last_name di tablokek din de din.

Du peymanên namzed ên herî populer yekem gotina her nameyek li zeviyê an jî peyvên cuda bi karanîna dabeşkirina kapîtalê dikin. Hûn dikarin çend pêşveçanvanan bibînin ku nameya yekem her peyva kapîtalîzekirin ji bilî peyva yekemîn be: firstName, lastname.

Hûn jî dixwazin ku li ser navên tahlên navîn an pirjimar a tehlîlkirinê bikar bînin biryar da. Gelo ew tabloyek rêz an tabloyek anîn e? Gelo ew maseya mişterî an maseya bargêrker e? Dîsa, hûn naxwazin ku bi tabloya Birêvebirin û tabloya karmendan bêdeng bimînin.

Peymana nameya ku hûn bijartin ne ku wekî pêvajoyê ya rastî bi hilbijêre û hilweşandina namzedê.

Daxuyaniya Daxuyaniya # 6: Sîteya Betewletê

Sermaseya yek ji wan tengahiyên ku rastdariyê ye, bi taybetî ji wan re ji bo ku di databases ya databases de nû de ye. Bişkojkên sereke û keyên biyanî bêne hesab kirin. Ew kîjan tablesan peywendîdar bi hev re ne, lewma bê indexek, hûn ê ji databasesê xwe ya pir kêm xerab dibînin.

Lê gelek caran pir kêm têne xelet kirin hene. Vê van "WHERE" hene. Heke pir caran hûn diçin ku lêgerîna xwe lêgerîna li qada WHERE ya qada bikaranîn, hûn dixwazin bifikirin ku di pevçûnekê de li ser qada xistin. Lêbelê, hûn nexwest ku li ser maseya tehlikê bixwazin, ku dikare jî performansa tengahiyê bikin.

Çawa biryarê bikin? Ev beşek ji hunerî ya databasê ye. Hê sînorên ku hûn li ser maseya xwe bigirin, sînor tune. Ya sereke, hûn dixwazin ku her qadên ku gelek caran di çepê de WHERE tê bikaranîn tê bikaranîn. Li ser dahatûreya xwe rastkirina nivîsandinê bixwînin.