Návrh a implementace relační databáze pro kliniku praktického lékaře. Databáze eviduje pacienty, návštěvy, výkony a předpisy v ordinaci. SQL skript vytváří schéma navržené databáze z ERD a doplňuje jej o triggery, uložené procedury, materializované pohledy, indexy a optimalizace pomocí EXPLAIN PLAN. Návrh a implementace jsou zdokumentovány v LaTeXové dokumentaci.
- Linux
- Docker
- Databázový klient (Například DBeaver, DataGrip, SQL Developer. Návod využívá rozšíření pro VSCode
Oracle SQL Developer Extension for VSCode)
- Naklonujte repozitář
git clone git@github.com:petr-plihal/doctor-office-db.git
cd doctor-office-db- Sestavte image Sestavení by nemělo trvat příliš dlouho, maximálně v řádu jednotek minut (92.6s v mém případě).
docker build -t doctor-office-db .- Spusťte kontejner
docker run -d --name oracle-test-doctor-office-db -p 1521:1521 -e ORACLE_PASSWORD=heslo123 doctor-office-dbPo dokončení je databáze dostupná na hostu localhost, s portem 1521, s heslem heslo123. Host a port jsou důležité pro případné ověření, zda se databáze úspěšně spustila, heslo pak pro případné změny vyžadující systémová práva (lze se přihlásit pod username SYS, viz níže).
-
Připojte se na databázi
Pro připojení můžete použít libovolného klienta kompatibilního s Oracle DB. Potřebné informace pro připojení:
Název pole Hodnota Role Default Username admin Password admin Hostname localhost Port 1521 Type SID SID FREE Poznámka: Pro Oracle Free 23c je výchozí SID
FREEa Service NameFREEPDB1.Ukázka připojení přes VSCode extension
Oracle SQL Developer Extension for VSCodePřípadně se lze připojit přes systémový účet, ale schémata budou těžko dohledatelná:
Název pole Hodnota Role SYSDBA Username SYS Password heslo123 Hostname localhost Port 1521 Type SID SID FREE
Pokud potřebujete začít s čistou původní databází:
Odstraňte kontejner s databází
docker rm -f oracle-test-doctor-office-dbSmažte nepoužívané volumes
docker volume prunePozor: Tento příkaz smaže všechny nepoužívané volumes, nejen ty od tohoto projektu.
Pokud se chcete zbavit všech ostatních souborů pro tento projekt, proveďte kroky v Reset databáze, dále:
Smažte Docker image databáze
docker rmi doctor-office-dbSmažte stažený repozitár
cd ..
rm -rf doctor-office-db