Nogen som har styr på SQL?

Diverse d.  30. marts. 2015, skrevet af caspertl
Vist: 581 gange.

caspertl
 
Enthusiast
Tilføjet:
30-03-2015 14:53:21
Svar/Indlæg:
77/18
Jeg er ved at modellere et lagersystem over computere og de komponenter, som computerne består af..

Er her nogen som har erfaring med SQL? Jeg vil ikke skrive alle detaljer her, men det drejer sig om:

Når der oprettes en computer i en tabel i databasen, skal der tjekkes om der enten er en onboard-GPU ELLER en GPU tilstede, ellers skal databasen afvise oprettelsen. Jeg har læst en masse om triggers, constraints, procedures... Men kan ikke rigtige finde ud af det.
@ngler
 
Redaktør
Tilføjet:
30-03-2015 15:30:48
Svar/Indlæg:
4033/364
SQL er den generelle term for sproget ..

Det er lidt svært at hjælpe uden info......

hvilken SQL server er det på?

Umiddelbart kan det være en når den skal tilføje skal den tjekke om den findes.. (trigger)

Alternativt når den tilføjes skal den linke til en tabel hvor de oprettet GPU modeller står..

eller skal det bare forstås at den ikke skal oprette hvis feltet ikke er udfyldt.. ? Kan nemt løses ved at gøre feltet ikke må være NULL (tom)

og hvor oprettes det fra ? PHP, ACCESS, Excel, VB etc ?


caspertl
 
Enthusiast
Tilføjet:
30-03-2015 15:38:16
Svar/Indlæg:
77/18
#1
Jeg bruger postgreSQL og har følgende tabeller:



Ved oprettelse af ComputerComponents skal der tjekkes om enten:

* ComputerComponents har en Component som er en ComponentType med Name = 'GPU'

ELLER

* ComputerComponents har en Component som er en ComponentType med Name 'CPU' OG har en Attribute med Name = 'Onboard-GPU' og en ComponentAttribute med value = TRUE.


@ngler
 
Redaktør
Tilføjet:
30-03-2015 22:11:02
Svar/Indlæg:
4033/364
Så du skriver sql inserten selv imod sqlServeren ?
Det er nok bare nemmere at tjekke det frontside end server/sql side , da fejlhåndtering kan blive mindre brugervenligt.

Kender ikke lige om man kan bruge,TSQL til postgreSQL, men hvis det absolut skal være sql, så kan man lave insert into***where computercomponent like '*GPU*' or like '*gpu*'

Btw navnet id er måske mindre smart, så hellere componentsId ets så navnene matcher.

Hvad sker der egentlig hvis den har to GPU fx ved SLI eller både har onboard og dedikerer GPU?



Svaret blev redigeret 1 gang, sidst af @ngler d. 30-03-2015 22:12:30.