Skocz do zawartości
KazMax

Baza W Sql Serwerze 2000

Rekomendowane odpowiedzi

Witam

Mam do zrobienia na zaliczenie bazę w SQL Serwerze 2000. Zrobiłem ją częściowo ale prosił bym o pomoc osoby bardziej doświadczone w tej materii o sprawdzenie czy baza w tej postaci ma prwo dobrze działać. Nie chcę aby ktos to za mnie zrobił a jedynie zabawił sie w "nauczyciela" i pokazał niedociągnięcia i błędy (bo takowe prawdopodobnie są). Jeśli ktos byłby skłonny mi pomóc to proszę o kontakt na kazmax@wp.pl lub GG 1480371.

Tak wyglądaja relacje w tej bazie...czy sa poprawne??

Dołączona grafika

Dodam jeszcze ze baza to ma być wypożyczalnia samochodów....

Edytowane przez KazMax

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

logiczne jest ok, ale 3 uwagi, wszystkie nazwy ( tabel i pól )pisz małymi literami bez polskich znaków diakrytycznych , nie pisz Nr_xxx bo to jest dziwne, ale np id_klient albo klient_id , do pokazania relacji łącz ze sobą klucze główne tabeli, dokładnie jaki klucz z jednej tabeli z jakim kluczem z drugiej a nie tak jak masz

 

i jeszcze jedno tabele która wydaje sie główna nalezy umieścic w miarę tak aby była ona jakoś tak gurowała nad innymi np w środku daj te wypozyczenia albo wyżej i w środku ponad innymi

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

razor1 dzięki za cenne uwagi. Mam jeszcze maly dylemat odnosnie typów danych w dwóch polach....poj_silnika (decimal? real?) oraz oplata_za24h (money? jakos nie bardzo pasuje mi przy wybieraniu). Co radzisz??? I jeszcze pytanko odnośnie daty. Chciałbym aby wyswietlana sama data (bez godziny) a jak zauważyłe jest tylko typ DATETIME (nie ma samego DATE)...co robic???

Edytowane przez KazMax

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a w czym jest pojemnośc ? w ccm czy w litrach podawana ? jak w ccm to unsigned smallint będzie w sam raz jak w litrach to float może być , opłata za 24 h to może też float albo double,

można użyć datetime i odczytywać sam date ale trzeba przed odczytem sformatować odpowiednio

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

float może być , opłata za 24 h to może też float albo double,

nigdy w zyciu :)

 

Chyba kazdy RDBMS do cen ma wlasny typ danych (lub jakis inny jest odpowiednio przystosowany), ale nie uzywa sie do tego "zmiennoprzecinkowcow". Tutaj nie moze miec miejsca zadna utrata dokladnosci. Dedykowanym typem w MSSQL jest Money, ale z tego co pamietam DECIMAL tez sie nada, bo mozna mu parametrami podac ile ma miec miejsc po przecinku (z tym, ze jest on inaczej przechowywany niz floaty, tak zeby nie bylo strat dokladnosci).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a w czym jest pojemnośc ? w ccm czy w litrach podawana ? jak w ccm to unsigned smallint będzie w sam raz jak w litrach to float może być , opłata za 24 h to może też float albo double,

można użyć datetime i odczytywać sam date ale trzeba przed odczytem sformatować odpowiednio

Pojemność jest w litrach i użyłem typu decimal (3,2) i spisuje sie dobrze. Czy mozesz mi napisac jak bedzie wyglądał taki format aby samą datę podawał?

Co do typu MONEY to problem polega na tym że jezeli wstukam takie zapytanie:

 

Select *

From wypozyczenia

Where oplata_za24h <='50';

 

to wyskakuje błąd i nie wiem o co biega :?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

"Disallowed implicit conversion from data type varchar to data type money, table 'Wypoż_samoch.dbo.wypozyczenia', column 'Cena_za24h'. Use the CONVERT function to run this query."

 

Oto treść komunikatu.

 

Ehhh już sobie poradziłem.....przy wybieraniu z warunkiem dla typu Money wartość nie może byc w pojedynczym cudzysłowiu lecz bez niego

Heh...ale lamerski błąd.

Edytowane przez KazMax

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jest.. rozejrzyj sie wsrod tabel i procedur systemowych. Mozna z tego wyciagnac chyba wszystko co trzeba o strukturze. A jesli program jest w C# to tam dodatkowo sa jakies mechanizmy wspomagajace pobieranie takich danych.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...