Hur man organiserar data för din MySQL-databas

March 14

MySQL är en Relational Database Management System (RDBMS), vilket innebär att uppgifterna är organiserad i tabeller. RDBMS tabeller är organiserade som andra tabeller som du är van vid - i rader och kolumner, som visas i följande tabell.

Kolumn 1 Kolumn 2 Kolumn 3 Kolumn 4
Rad 1
Rad 2
Rad 3
Rad 4

Den individuella cell, i vilken en viss rad och kolumn skär kallas ett fält.

Fokus för varje bord är ett objekt (en sak) som du vill lagra information om. Här är några exempel på objekt:

  • Kunder
  • Produkter
  • Företag
  • Djur
  • Cities
  • Rum
  • Böcker
  • Datorer
  • Former
  • Dokument
  • Projekt
  • Veckor

Du skapar en tabell för varje objekt. Tabellen namn bör tydligt identifiera de objekt som den innehåller en beskrivande ord eller term, utifrån följande riktlinjer:

  • Namnet måste vara en teckensträng, som innehåller bokstäver, siffror, understreck eller dollartecken, men inga mellanslag.
  • Det är brukligt att namnge tabellen i singularis. Således kan ett namn för en tabell kunder vara kund, och en tabell som innehåller kundorder kan namnges CustomerOrder.
  • Skillnaden mellan versaler och gemener är betydande på Linux och Unix, men inte på Windows. CustomerOrder och Customerorder är samma till Windows - men inte till Linux eller Unix. Som sagt, det är bäst att vara känsliga för skift i händelse av att du någonsin behöver ändra hosting plattformar.

I databasen prata, är ett objekt en enhet, och ett företag har attribut. I tabellen representerar varje rad en enhet, och kolumnerna innehåller attributen för varje enhet. Till exempel, i en tabell över kunder, varje rad innehåller information för en enda kund. Några av de attribut som finns i kolumnerna kan omfatta förnamn, efternamn, telefonnummer och ålder.

Följ dessa steg för att bestämma hur man ska organisera dina data i tabeller:

  1. Namnge din databas.

    Tilldela ett namn till databasen för din ansökan. Till exempel kan du namnge en databas som innehåller information om hushåll i en stadsdel HouseholdDirectory.
  2. Identifiera objekten.

    Titta på listan över information som du vill lagra i databasen. Analysera din lista och identifiera föremålen. Till exempel kan den HouseholdDirectory databasen behöver lagra följande:

    • Namn på varje familjemedlem
    • Adressen till huset
    • Telefonnummer
    • Ålder på varje hushållsmedlem
    • Favorit frukostflingor av varje hushållsmedlem

    När du analyserar den här listan noga, inser du att du lagrar information om två objekt: hushållet och hushållsmedlemmarna. Den adress och telefonnummer är för hushållet, i allmänhet, men namn, ålder, och favorit spannmål är för varje enskild hushållsmedlem.

  3. Definiera och namnge en tabell för varje objekt.

    Till exempel behöver HouseholdDirectory databasen en tabell som heter Hushåll och ett bord som heter HouseholdMember.
  4. Identifiera attributen för varje objekt.

    Analysera din information lista och identifiera de attribut som du behöver för att lagra för varje objekt. Bryt den information som ska lagras i dess minsta rimliga bitar. Till exempel, när du lagrar namnet på en person i en tabell kan du bryta namn i förnamn och efternamn.

    Att göra detta kan du sortera efter efternamn, vilket skulle vara svårare om du lagrat den första och efternamn tillsammans. Du kan även bryta ner namnet i förnamn, mellannamn och efternamn, även om inte många program behöver använda mellannamn separat.

  5. Definiera och namnge kolumner för varje separat attribut som du identifierar i steg 4.

    Ge varje kolumn ett namn som tydligt identifierar informationen i den kolumnen. Kolumn namn ska vara ett ord, utan mellanslag. Till exempel kanske du har kolumner som heter firstname och lastname eller förnamn och efternamn.

    MySQL och SQL reserv några ord för eget bruk, och du kan inte använda dessa ord som kolumnnamn. Orden används för närvarande i SQL-satser eller är reserverade för framtida användning. Du kan inte använda ADD, alla, och, SKAPA, DROP, KONCERNEN, ORDER, RETURN, SELECT, SET, TABELL, användning där, och många, många fler som kolumnnamn.

  6. Identifiera primärnyckeln.

    Varje rad i en tabell behöver en unik identifierare. Inga två rader i en tabell ska vara exakt samma. När du utformar ditt bord, du bestämmer vilken kolumn innehar unik identifierare, kallad primärnyckeln.

    Primärnyckeln kan vara mer än en kolumn i kombination. I många fall gör dina objektattribut inte har en unik identifierare. Till exempel kan en kund bord inte har en unik identifierare eftersom två kunder kan ha samma namn.

    När du inte har en unik identifierare kolonn, måste du lägga till en kolumn specifikt för att vara den primära nyckeln. Ofta är en kolonn med ett sekvensnummer som används för detta ändamål. Till exempel, här primärnyckeln är cust_id fältet eftersom varje kund har ett unikt ID-nummer.

Ett prov av data från Kunden Table
cust_id first_name last_name telefon
27895 John Smith 555-5555
44555 Joe Lopez 555-5553
23695 Judy Chang 555-5552
29991 Jubal Tudor 555-5556
12345 Joan Smythe 555-5559
  1. Definiera standardinställningarna.

    Du kan definiera en standard som MySQL delar till ett fält när inga data matas in i fältet. Du behöver inte en standard, men man kan ofta vara användbart. Till exempel, om din ansökan lagrar en adress som innehåller ett land, kan du ange USA som standard. Om användaren inte skriver ett land, MySQL går USA
  2. Identifiera kolumner som kräver uppgifter.

    Du kan ange att vissa kolumner inte får vara tomt (även kallad NULL). Till exempel kan kolonnen innehållande din primärnyckeln inte vara tom. Om inget värde lagras i primärnyckelkolumn, inte MySQL inte skapa raden och returnerar ett felmeddelande.

    Värdet kan vara ett tomt utrymme eller en tom sträng (t.ex. ""), men något värde måste lagras i kolonnen. Du kan ställa in andra kolumner, förutom primärnyckeln, för att kräva uppgifter.

Väl utformade databaser lagrar varje del av information på ett enda ställe. Lagra den i mer än ett ställe är ineffektivt och skapar problem om du behöver ändra informationen. Om du ändrar informationen på ett ställe men glömmer att ändra den på ett annat ställe, kan din databas har allvarliga problem.