CodeNight — syntetyczna baza kursu SQL / INF.03

Dane: klienci 5, produkty 4, zamowienia 4, pozycje 6.
Wszystkie nazwiska, adresy i zakupy to dane ćwiczeniowe. Domeny example.invalid nie służą do wysyłania poczty.

Wybierz JEDEN plik odpowiedni dla silnika. Nie uruchamiaj skryptów na bazie aplikacji ani bazach systemowych.
MySQL/MariaDB oraz SQL Server: skrypt tworzy nową bazę cn_sql_cwiczenia_2026. Jeżeli już istnieje, użyj innej nazwy, bez kasowania starej.
Oracle 19c: potrzebujesz oddzielnego schematu ćwiczeniowego z odpowiednimi uprawnieniami i przestrzenią. Skrypt nie tworzy użytkownika.
Access: utwórz nowy .accdb i wykonuj każde polecenie osobno. Skrypt nie emuluje CHECK; ustaw w projekcie tabel reguły poprawności cena >= 0 oraz ilosc > 0. Nie dodano indeksu UNIQUE email: jeśli go konfigurujesz, świadomie obsłuż wiele NULL.
SQLite: plik do nowej pustej bazy. Typowanie, REAL, daty jako tekst, funkcje i kolacje są właściwościami SQLite.

MySQL/MariaDB i Oracle: UNIQUE email dopuszcza wiele NULL. SQL Server używa indeksu filtrowanego, aby zachować tę intencję. Nie zakładaj, że zwykłe UNIQUE w SQL Server zachowa się tak samo.

Pliki są materiałem do samodzielnych ćwiczeń. Nie były wszystkie wykonywane na wymienionych serwerach. Nie są kopią produkcyjnej bazy ani dowodem zgodności silników. Po imporcie sprawdź liczbę wierszy i wykonaj zadania kursu. Typy dat i pieniędzy celowo odpowiadają danemu silnikowi.

Podstawowa kontrola:
SELECT COUNT(*) FROM klienci;
SELECT COUNT(*) FROM produkty;
SELECT COUNT(*) FROM zamowienia;
SELECT COUNT(*) FROM pozycje;

Kurs: https://codenight.pl/category/sql/

CSV: produkty.csv, UTF-8, separator przecinek, kropka dziesiętna, pierwszy wiersz to nagłówki. Importuj do NOWEJ tabeli produkty_import.
Przy skryptach SQL zatrzymaj wykonanie na pierwszym błędzie. Jeśli nazwa bazy lub tabele już istnieją, nie kontynuuj importu i nie kasuj istniejących danych. Wybierz nowe środowisko ćwiczeniowe.
Access: do kwerendy kopiuj tylko jedno polecenie SQL bez wierszy komentarzy zaczynających się od --.
