Exercises: Table Relations - Problem 5. Online Store Database -

Exercises: Table Relations - Problem 5. Online Store Database -

tihomirj avatar tihomirj 31 Точки

Exercises: Table Relations - Problem 5. Online Store Database -

Колеги, решението по-долу върви при мен и създава базата данни по E/R диаграмата, но JUDGE дава само 66/100. Някой може ли да погледне и да каже къде бъркам.

CREATE TABLE Cities
(
    CityID INT PRIMARY KEY,
    Name VARCHAR(50) NOT NULL
)

CREATE TABLE Customers
(
    CustomerID INT PRIMARY KEY,
    Name VARCHAR(50) NOT NULL,
    Birthday DATE,
    CityID INT NOT NULL,
    CONSTRAINT FK_Customers_Cities FOREIGN KEY (CityID) REFERENCES Cities(CityID)
)

CREATE TABLE Orders
(
    OrderId INT PRIMARY KEY,
    CustomerId INT NOT NULL,
    CONSTRAINT FK_Orders_Customers FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
)

CREATE TABLE ItemTypes
(
    ItemTypeID INT PRIMARY KEY,
    Name VARCHAR(50) NOT NULL
)

CREATE TABLE Items
(
    ItemID INT PRIMARY KEY,
    Name VARCHAR(50) NOT NULL,
    ItemTypeID INT NOT NULL,
    CONSTRAINT FK_Items_ItemTypes FOREIGN KEY(ItemTypeID) REFERENCES ItemTypes(ItemTypeID)
)

CREATE TABLE OrderItems
(
    OrderID INT NOT NULL,
    ItemID INT NOT NULL,
    CONSTRAINT PK_OrderItems PRIMARY KEY(OrderID,ItemID),
    CONSTRAINT FK_OrderItems_Orders FOREIGN KEY (OrderID) REFERENCES Orders(OrderID),
    CONSTRAINT FK_OrderItems_Items FOREIGN KEY (ItemID) REFERENCES Items(ItemID)
)

Тагове:
0
Databases Basics
tihomirj avatar tihomirj 31 Точки

Открих си грешката. Тоест не е моя грешка, а на ДЖЪДЖ. В таблицата Orders съм написал OrderId и    CustomerId, а е трябвало да напиша OrderID и CustomerID. 

SQL не е case sensitive или бъркам? Защото според Judge излиза, че SQL е case sensitive.

1
uzunovz avatar uzunovz 61 Точки

Ами и аз имах същия проблем.
На упражнения ни казаха да спазваме точно имената. Просто проверките се правят от Джъдж, a той е на C#. Предполагам изисква повече работа да се направи case insensitive само за SQL.

0
ZornitsaSerbezova avatar ZornitsaSerbezova 454 Точки

Има настройка в SSMS за sensitive/insensitive 

0
StanYan avatar StanYan 7 Точки

Приятели,

case sensitive/insensitive не винаги зависи само от SQL сървъра, а и от операционната система и от клиента (понякога). Та въпроса не е толкова прост :) Ако Judge не е case sensitive ще можете да си напишете всичко с големи букви или всичко с малки букви и тогава как ще бъде оценено, може и всичко на един ред да си го нашляпате :) 

 

Поздрави!

0
uzunovz avatar uzunovz 61 Точки

При свободно време всеки може да разгледа кода на OpenJudgeSystem https://github.com/NikolayIT/OpenJudgeSystem и да провери локално защо е така в момента :).
 

0