Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Dizajn databázy
1. tabuľky:
* Študenti:
* `Student_id` (int, primárny kľúč, auto_increment) - jedinečný identifikátor pre každého študenta
* `first_name` (varchar (255))
* `Last_name` (Varchar (255))
* `Date_of_birth` (dátum)
* `Gender` (Varchar (10))
* `Address` (Varchar (255))
* `Phone_number` (Varchar (20))
* `E -mail` (Varchar (255))
* `admission_date` (dátum)
* `Program_id` (int, programy referencie cudzích kľúčov (program_id))
* programy:
* `Program_id` (int, primárny kľúč, auto_increment)
* `Program_name` (Varchar (255))
* `Oddelenie_id` (int, oddelenia referencie zahraničných kľúčov (oddelenie_id))
* oddelenia:
* `Oddelenie_id` (int, primárny kľúč, auto_increment)
* `Oddelenie_name` (Varchar (255))
* kurzy:
* `kurz_id` (int, primárny kľúč, auto_increment)
* `kurz_name` (Varchar (255))
* `kurz_code` (varchar (20))
* `Credit_hours` (int)
* `Oddelenie_id` (int, oddelenia referencie zahraničných kľúčov (oddelenie_id))
* registrácie:
* `Enrollment_id` (int, primárny kľúč, auto_increment)
* `Student_id` (int, referencie zahraničných kľúčov (študenti Student_id))
* `kurz_id` (int, kurzy referencie cudzích kľúčov (kurz_id))
* `Semester` (Varchar (20))
* „Rok“ (int)
* `Grade` (varchar (2))
* fakulta:
* `fakulty_id` (int, primárny kľúč, auto_increment)
* `first_name` (varchar (255))
* `Last_name` (Varchar (255))
* `Oddelenie_id` (int, oddelenia referencie zahraničných kľúčov (oddelenie_id))
* kurz_faculty:
* `kurz_faculty_id` (int, primárny kľúč, auto_increment)
* `kurz_id` (int, kurzy referencie cudzích kľúčov (kurz_id))
* `fakulty_id` (int, referencie cudzích kľúčov fakulty (fakulta_id))))))))))
* `SECTION` (Varchar (10))
2. Vzťahy:
* One-to-Many:
* Programy pre študentov (jeden program môže mať veľa študentov)
* Oddelenia programov (jedno oddelenie môže mať veľa programov)
* Oddelenia kurzov (jedno oddelenie môže mať veľa kurzov)
* Kurzy na zápisy (jeden kurz môže mať veľa zápisov)
* Fakulta na kurz_faculty (jedna fakulta môže učiť viacero kurzov)
* Kurzy na kurz_faculty (jeden kurz môže mať viac členov fakulty)
* Študenti na zápisy (jeden študent sa môže zapísať do viacerých kurzov)
SQL Príklad (vytváranie tabuliek):
`` sql
- Vytvorte tabuľku študentov
Vytvorte študentov tabuľky (
Student_id int primárny kľúč auto_increment,
first_name varchar (255),
last_name varchar (255),
dátum dátum_of_birth, dátum,
Gender Varchar (10),
Adresa Varchar (255),
telefón_number varchar (20),
E -mail Varchar (255),
dátum vstupného_date,
program_id int,
Cudzí kľúče (program_id) referenčné programy (program_id)
);
- Vytvorte tabuľku programov
Vytvorte tabuľkové programy (
program_id int primárny kľúč auto_increment,
program_name varchar (255),
oddelenie_id int,
Cudzí kľúče (oddelenie_id) referenčné oddelenia (oddelenie_id)
);
- Vytvorte tabuľku oddelení
Vytvorte tabuľkové oddelenia (
oddelenie_id int primárny kľúč auto_increment,
Oddelenie_name varchar (255)
);
- Vytvorte tabuľku kurzov
Vytvorte stolové kurzy (
kurz_id int primárny kľúč auto_increment,
kurz_name varchar (255),
kurz_code varchar (20),
credit_hours int,
oddelenie_id int,
Cudzí kľúče (oddelenie_id) referenčné oddelenia (oddelenie_id)
);
- Vytvorte tabuľku registrácií
Vytvorte registrácie tabuliek (
Enrollment_id int primárny kľúč auto_increment,
Student_id int,
kurz_id int,
semester varchar (20),
rok int,
stupeň varchar (2),
Cudzí kľúč (Student_id) Referencie Študenti (Student_id),
Cudzie kľúče (kurz_id) Courses (Cound_id)
);
- Vytvorte tabuľku fakulty
Vytvorte tabuľkovú fakultu (
fakulty_id int primárny kľúč auto_increment,
first_name varchar (255),
last_name varchar (255),
oddelenie_id int,
Cudzí kľúče (oddelenie_id) referenčné oddelenia (oddelenie_id)
);
- Vytvorte tabuľku kurz_faculty
Vytvorte tabuľku kurz_faculty (
kurz_faculty_id int primárny kľúč auto_increment,
kurz_id int,
fakulty_id int,
oddiel varchar (10),
Cudzí kľúče (kurz_id) referencie kurzy (kurz_id),
Cudzí kľúč (fakulta_id) referencie fakulty (fakulta_id)
);
`` `
Integrita a obmedzenia údajov:
* cudzie kľúče: Používajte zahraničné kľúče na zabezpečenie konzistentnosti údajov a relačnej integrity.
* Typy údajov: Vyberte príslušné typy údajov pre každý stĺpec (napr. `Int`,` varchar`, `dátum").
* jedinečnosť: Uistite sa, že ID študentov a ďalšie vhodné oblasti sú jedinečné.
* Validácia: Implementujte pravidlá overenia údajov (napr. Kontroly rozsahu známok, overenie e -mailového formátu), aby ste zabezpečili kvalitu údajov.
Ďalšie funkcie a úvahy:
* Nahlásiť: Dizajn dotazov na generovanie správ o výkone študentov, registrácii kurzu, pracovnej záťaži fakulty atď.
* Zabezpečenie: Implementujte úlohy používateľov a povolenia na riadenie prístupu k citlivým údajom.
* zálohovanie a obnovenie údajov: Implementovať postupy zálohovania a obnovy na ochranu pred stratou údajov.
* User rozhrania: Zoberme si front-end užívateľské rozhranie (pomocou jazykov ako PHP, Python, Java), aby ste interagovali s databázou a urobili systém užívateľsky prívetivé.
* Optimalizácia výkonu: Používajte indexovanie a vhodné techniky optimalizácie dopytov na rýchlejší prístup k údajom.
* normalizácia: Uistite sa, že návrh vašej databázy sleduje zásady normalizácie, aby sa znížila redundancia a zlepšila integritu údajov.
Príklad dopytov:
* Získajte všetkých študentov do konkrétneho programu:
`` sql
Vybrať *
Od študentov
Kde program_id =1;
`` `
* Získajte priemernú známku pre konkrétny kurz:
`` sql
Vyberte AVG (stupeň) ako priemer_grade
Zo zápisov
Kde kurz_id =2;
`` `
* Získajte mená členov fakulty, ktorí učia konkrétny kurz:
`` sql
Vyberte F.First_name, F.Last_name
Z fakulty f
Pripojte sa k kurzu_faculty cf na f.faculty_id =cf.faculty_id
Pripojte sa k kurzom C na cf.course_id =c.course_id
Kde c.course_id =3;
`` `
Pamätajte: Toto je základný dizajn. Špecifická štruktúra sa bude líšiť v závislosti od konkrétnych potrieb a požiadaviek vašich SRM.