Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MS SQL] Prośba o pomoc, tworzenie bazy :(
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
nitr0
Na wstepie chce wyjasnic o co chodzi.
Wiec jestem POCZATKUJACYM początkującym. Na zaliczenie w szkole mam zrobic baze. A, ze mamy takiego wspanialego wykladowce i zabardzo nic nie wiem z MS SQL, to mam z nią problem. Chcialem prosic o pomoc w rozwiązaniu mojego problemu smile.gif
A mianowicie, chce zrobic baze Serwisowa, przyjec sprzetu na serwis, ktora wyglada tak :
http://img93.imageshack.us/my.php?image=model3qg.jpg

I teraz kod:

Tworzenie bazy:
Kod
USE master
GO
CREATE DATABASE Serwis
ON
( NAME = Serwis,
   FILENAME = 'c:\WSHE\MsSQL\serwis.mdf',
   SIZE = 10MB,
   MAXSIZE = 50MB,
   FILEGROWTH = 5MB )
LOG ON
( NAME = 'Serwis_log',
   FILENAME = 'c:\WSHE\MsSQL\serwislog.ldf',
   SIZE = 5MB,
   MAXSIZE = 25MB,
   FILEGROWTH = 5MB )
GO


Tworzenei tabel:

TYP:
Kod
USE Serwis
GO
CREATE TABLE [Typ] (
    [IDTypu] [int] IDENTITY (1, 1) NOT NULL ,
    [Nazwa] [varchar] (30) COLLATE Polish_CI_AS NOT NULL ,
    [Opis] [varchar] (100) COLLATE Polish_CI_AS NULL ,
  PRIMARY KEY  CLUSTERED
  (
      [IDTypu]
  )  ON [PRIMARY] ,
    ) ON [PRIMARY]
GO


Klient:
Kod
USE Serwis
GO
CREATE TABLE [Klient] (
    [IDKlienta] [int] IDENTITY (1, 1) NOT NULL ,
    [Nazwisko] [varchar] (32) COLLATE Polish_CI_AS NOT NULL ,
    [Imie] [varchar] (30) COLLATE Polish_CI_AS NULL ,
    [Tel] [varchar] NOT NULL ,
    [Adres] [varchar] (64) COLLATE Polish_CI_AS NULL ,
  PRIMARY KEY  CLUSTERED
    (
  [IDKlienta]
    )  ON [PRIMARY] ,
  CHECK ([Nazwisko] like '[A-Z]%'),
) ON [PRIMARY]
GO


Sprzet:
Kod
USE Serwis
GO
CREATE TABLE [Sprzet] (
    [IDSprzetu] [int] IDENTITY (1, 1) NOT NULL ,
    [IDTypu] [int] NULL ,
    [NrSeryjny] [varchar] (30) NOT NULL ,
  PRIMARY KEY  CLUSTERED
    (
  [IDSprzetu]
    )  ON [PRIMARY] ,
  FOREIGN KEY ([IDTypu]) REFERENCES [Typ] ([IDTypu]) ON DELETE CASCADE
) ON [PRIMARY]
GO


Reklamacja:
Kod
USE Serwis
GO
CREATE TABLE [Reklamacja] (
    [IDReklamacji] [int] IDENTITY (1, 1) NOT NULL ,
    [IDSprzetu] [int] NULL ,
    [Opis] [varchar] (150) COLLATE Polish_CI_AS NOT NULL ,
    [Data] [datetime],
  PRIMARY KEY  CLUSTERED
    (
  [IDReklamacji]
    )  ON [PRIMARY] ,
  FOREIGN KEY
    (
  [IDSprzetu]
    ) REFERENCES [Sprzet] (
  [IDSprzetu]
    ) ON DELETE CASCADE
) ON [PRIMARY]
GO


Zgłoszenie:
Kod
USE Serwis
GO
CREATE TABLE [Zgloszenie] (
    [IDReklamacji] [int] NOT NULL ,
    [IDKlienta] [int] NOT NULL ,
  PRIMARY KEY  CLUSTERED
    (
    [IDReklamacji]
    )  ON [PRIMARY] ,
  FOREIGN KEY (
    [IDReklamacji]
    ) REFERENCES [Reklamacja] ([IDReklamacji]) ON DELETE CASCADE,
) ON [PRIMARY]
GO


I mam taki problem, ze Tabele Klient nie jest powiazana z resztą, napewno coś źle robie, ale niestety utknolem i niewiem co dalej sad.gif

Podejrzewam, ze coś jeszcze tam jest źle, ale na tym etapie poznania nie potrafie nic wiecej zrobic sad.gif.

Przepraszam również za zle umieszczenie kodu, jezeli takowe zrobilem, przeczytalem najpierw FAQ, i zasady, przeszukalem forum, ale nikt nie mial chyba tak banalnego problemu, jak stworzenie bazy!!

Pozdrawiam i dziekuje z góry za pomoc!!

Pozdrawiam
Konrad sadsmiley02.gif
SongoQ
Najlepszym rozwiazaniem jest narysowanie sobie schematu i kierunku polaczen, wtedy bedziesz wiedzial co jest PRIMARY a co jest FOREIGN key
nitr0
No właśnie tego nie czaje :/

Co to ten klucz główny a co ten "boczny(ze tak go nazwe)".

Klient:
Kod
USE Serwis
GO
CREATE TABLE [Klient] (
    [IDKlienta] [int] IDENTITY (1, 1) NOT NULL ,
    [Nazwisko] [varchar] (32) COLLATE Polish_CI_AS NOT NULL ,
    [Imie] [varchar] (30) COLLATE Polish_CI_AS NULL ,
    [Tel] [varchar] NOT NULL ,
    [Adres] [varchar] (64) COLLATE Polish_CI_AS NULL ,
  PRIMARY KEY  CLUSTERED
    (
  [IDKlienta]
    )  ON [PRIMARY] ,
  CHECK ([Nazwisko] like '[A-Z]%'),
) ON [PRIMARY]
GO


Czyli tutaj brakuje mi definicji tego klucza FOREIGN, zgadza sie?

Ale jak chce go zrobic, bo mial by nim byc IDKlienta, to bodajrze, mowi, ze nie moze byc byc IDENTITY. A czy ogolnie schemat budowy tego, i kodu jest dobrze ?
SongoQ
Cytat
Co to ten klucz główny a co ten "boczny(ze tak go nazwe)".

nie boczny tylko obcy. O tym mozesz przeczytac w google lub ksiazkach do podstaw SQLa.

Z tego co wywnioskowalem z Twojej wypowiedzi to nie bardzo rozumiesz polaczen a chcesz cos uzyc na sile. Radze lepiej zaznajomic sie z tematem.
nitr0
Hm, to sie zgadza, tylko, ze czasu mam mało.. jakies 15h ? blink.gif


No nic, dzieki za tamto, mam nadzieje, ze cos z tego zrobie ! :]

Pozdrawiam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.