Cześć. Dostałem zadanie z baz danych do zrobienia o następującej treści:
Utwórz bazę danych Firma.
Utwórz tabelę Klienci
Id_Klie - typ liczbowy, klucz główny, nie może przyjmować wartości NULL
Last_Name - łańcuch o zmiennej długości (30), nie może przyjmować wartości NULL
First_Name - łańcuch o zmiennej długości (30)
Utwórz tabelę Zamówienia.
Id_zam - klucz główny, typ liczbowy, nie może przyjmować wartości NULL
Data_zam - data i godzina, domyślnie przyjmuje bieżącą datę
Id_Klie - typ liczbowy, klucz obcy kwota - liczba zmiennoprzecinkowa z podwójnąprecyzją
Utwórz tabelę towary.
Id_tow- klucz główny, typ liczbowy, nie może przyjmować wartości NULL
Nazwa_tow - łańcuch o zmiennej długości (30), nie może przyjmować wartości NULL
Cena_tow - typ money Ilosc_tow - zdefiniuj typ danych
W tabeli Zamówienia dodaj kolumnę Id_tow
W tabeli Zamówienia zmień typ kolumny Kwota na money
W tabeli Zamówienia dodaj kolumnę Ilosc i zdefiniuj odpowiedni typ
Do tabeli Klienci wprowadź dwa rekordy
Do tabeli Zamówienia wprowadź jeden rekord.
Obecnie zapytanie wygląda tak:
CREATE DATABASE Firma
CREATE TABLE Klienci
(
id_klienta INT, PRIMARY KEY, IDENTITY(1,1), NOT NULL,
last_name VARCHAR(30), NOT NULL,
first_name VARCHAR(30)
)
CREATE TABLE Zamówienia
(
id_zamowienia PRIMARY KEY, INT, IDENTITY(1,1), NOT NULL,
data_zamowienia GETUTCDATE(),
id_klienta INT, FOREIGN KEY,
kwota FLOAT(8)
)
CREATE TABLE Towary
(
id_towaru PRIMARY KEY, INT, IDENTITY(1,1), NOT NULL,
nazwa_towaru VARCHAR(30), NOT NULL,
cena_towaru MONEY,
ilosc_towaru SMALLINT
)
ALTER TABLE Zamowienia
ADD id_towaru
ALTER TABLE Zamowienia
ALTER COLUMN kwota MONEY
ALTER TABLE Zamowienia
ADD ilosc SMALLINT
INSERT INTO Klienci ('last_name', 'first_name') VALUES ('Trybuś', 'Krzysztof')
INSERT INTO Klienci ('last_name', 'first_name') VALUES ('Trybuś', 'Tomasz')
Wykaz błędów:
Msg 156, Level 15, State 1, Line 5
Incorrect syntax near the keyword 'IDENTITY'.
Msg 173, Level 15, State 1, Line 12
The definition for column 'id_zamowienia' must include a data type.
Msg 173, Level 15, State 1, Line 20
The definition for column 'id_towaru' must include a data type.
Msg 173, Level 15, State 1, Line 28
The definition for column 'id_towaru' must include a data type.
Miałem po raz pierwszy zastosować "IDENTITY" i nie wiem jak to powinno prawidłowo wyglądać.
Jak prawidłowo zdefiniować datę używając "GETUTCDATE()" i jaką ta funkcja powinna posiadać wartość? Czy jest ona do tego zadania dobra?
Jak prawidłowo zapytaniem INSERT INTO dodać rekord? Nigdy nie korzystałem z INSERT INTO w SQL Server, a jedynie w php - czy dodając pierwszy rekord muszę określać id korzystając z identity?
Dobrym pomysłem było skorzystanie przy "ilosc_towaru" i przy "ilość"ze smallint?
Proszę o pomoc.