Lektion 1Implementering av begränsningar: NOT NULL, UNIQUE, CHECK, FOREIGN KEY-kaskader och ON DELETE/UPDATE-strategierImplementera NOT NULL, UNIQUE, CHECK och FOREIGN KEY-begränsningar för att upprätthålla affärsregler. Designa ON DELETE och ON UPDATE-strategier, inklusive CASCADE och RESTRICT, för att skydda dataintegritet samtidigt som verkliga affärsflöden stöds.
Användning av NOT NULL för obligatoriska dataDesign av UNIQUE och sammansatta nycklarCHECK-begränsningar för affärsreglerFOREIGN KEY-alternativ och avvägningarVal av ON DELETE och ON UPDATE-åtgärderLektion 2Tabelldefinitioner: användare (applikationsautentisering) — kolumner, hasning, salter, kontostatus, PK:erSkapa en säker användartabell för applikationsautentisering. Definiera kolumner för användarnamn, e-post, lösenordshashar, salter och kontostatus. Hantera lösenordspolicyer, låsout-flaggor och relationer till granskning och ägandefält.
Användaridentifierare och inloggningsfältLösenordshash och saltlagringKontostatus och låsout-flaggorRoll, behörighet och profil-länkarGranskningskolumner för användaraktivitetLektion 3Tabelldefinitioner: kunder — kolumner, typer, begränsningar, PK och viktiga FK:erDefiniera kundtabellen med tydliga primärnycklar, unika begränsningar och främmande nycklar till relaterade entiteter. Välj lämpliga datatyper för namn, kontakter och adresser, och designa kolumner som stödjer sökning, segmentering och granskningsbehov.
Kundidentifierare och primärnyckelvalNamn, kontakt- och adresskolumnerUnika begränsningar på e-post och koderFrämmande nycklar från ordrar och fakturorGranskning och metadatakolumner för kunderLektion 4Entitetsmodellering och normalisering: kartläggning av krav till tabeller och relationerModellera kunder, ordrar, order_poster, fakturor och användare som entiteter med tydliga relationer. Applicera normaliseringsregler för att minska redundans, kartlägg affärsregler till tabeller och besluta när kontrollerad denormalisering är motiverad för prestanda.
Identifiering av entiteter och relationerApplicering av 1NF, 2NF och 3NF-reglerModellering av ett-till-många och många-till-mångaHantering av valfria och obligatoriska relationerNär och hur man denormaliserar säkertLektion 5Indexstrategi: kandidatindex (enkolumn och sammansatt) och motiveringPlanera en indexstrategi för kunder, ordrar, order_poster, fakturor och användare. Välj kandidat enkollumn- och sammansatta index baserat på frågemönster, och balansera läsprestanda mot skrivkostnad och lagringsöverväganden.
Identifiering av högkvalitativa frågemönsterEnkolumn mot sammansatta indexTäckande index för kritiska frågorIndexering av främmande nycklar och statusfältÖvervakning och finjustering av indexanvändningLektion 6Tabelldefinitioner: fakturor — kolumner, typer, relationer till ordrar och kunderDesigna fakturabordet och dess relationer till ordrar, kunder och betalningar. Definiera kolumner för totaler, skatter och statusar, och säkerställ referentiell integritet. Hantera partiella betalningar, kreditnotor och numreringsscheman för efterlevnad.
Fakturaidentifierare och numreringsreglerLänkning av fakturor till kunder och ordrarTotaler, skatter och valutar kolumnerFakturastatus och livscykelspårningHantering av kreditnotor och justeringarLektion 7Datatypsval: numerisk, decimal, UUID mot seriek, tidsstämplar och tidszons hanteringVälj lämpliga datatyper för identifierare, belopp och tidsstämplar. Jämför numerisk och decimal för pengar, UUID mot seriek för nycklar, och diskutera tidszonsmedvetna tidsstämplar. Hantera precision, lagring och portabilitetsöverväganden.
Numerisk mot decimal för penningvärdenUUID mot seriek primärnycklarTecken- och textkolumner för namnTidszonsmedvetna tidsstämpel bästa praxisHantering av datum-enda och intervallfältLektion 8Tabelldefinitioner: ordrar och order_poster — kolumner, typer, sammansatta nycklar, FK-integritetDefiniera normaliserade ordrar- och order_poster-tabeller, inklusive primär- och sammansatta nycklar, främmande nyckel-integritet och essentiella kolumner. Lär dig fånga kvantiteter, priser, statusar och säkerställa konsekventa relationer till kunder och fakturor.
Kärnkolumner för ordrar och order_posterVal av primär- och sammansatta nycklarFrämmande nycklar till kunder, användare, fakturorModellering av kvantiteter, priser och rabatterStatusfält och livscykelspårningLektion 9Materialiserade vyer och härledda tabeller för aggregerad faktura/order-rapporteringUtforska materialiserade vyer och härledda tabeller som summerar ordrar och fakturor. Lär dig designa aggregat för intäkter, skatter och kundaktivitet, uppdateringsstrategier och prestandaavvägningar mellan realtid och batchrapportering.
Identifiering av nyckelsummor för rapporteringDesign av sammanfattnings- och rollup-tabellerMaterialiserad vy uppdateringsstrategierHantering av sent anländande och korrigerade dataIndexering och partitionering av rapporteringstabellerLektion 10Design för multitenancy och mjuka raderingar (tenant_id, deleted_at-tillvägagångssätt)Designa scheman som stödjer flera tenants och mjuka raderingar. Jämför tenant_id-strategier, radnivå-isolering och schema-per-tenant-avvägningar. Implementera deleted_at-kolumner, filtreringsmönster och begränsningar som bevarar historiska data.
Tenant_id-kolumn mot schema per tenantRadnivå-säkerhet och tenant-isoleringImplementering av deleted_at mjuka raderingsfältFrågemönster för att exkludera mjukt raderade raderÅterställning och granskning av mjukt raderade poster