Guest User

composite relations test

a guest
May 14th, 2012
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 3.84 KB | None | 0 0
  1. -- kreiraj bazu
  2. CREATE DATABASE [HibernateTest]
  3. GO
  4.  
  5. USE HibernateTest
  6. GO
  7.  
  8. -- kreiraj tablice
  9. -- Korisnici
  10. CREATE TABLE [dbo].[Korisnici]
  11. (
  12.  [KorisniciID] [int] IDENTITY(1, 1)
  13.                      NOT NULL
  14. ,[Korisnik] [varchar](50) NOT NULL
  15. ,[Opis] [varchar](100) NOT NULL
  16. ,CONSTRAINT [PK_Korisnici] PRIMARY KEY CLUSTERED ([KorisniciID] ASC)
  17. ,CONSTRAINT [IX_Korisnici] UNIQUE NONCLUSTERED ([Korisnik] ASC)
  18. )
  19.  
  20. ALTER TABLE [dbo].[Korisnici]
  21. ADD
  22.     CONSTRAINT [DF_Korisnici_Opis] DEFAULT ('') FOR [Opis]
  23.  
  24. GO
  25.  
  26. -- Gradovi
  27. CREATE TABLE [dbo].[Gradovi]
  28. (
  29.  [GradoviID] [int] IDENTITY(1, 1)
  30.                    NOT NULL
  31. ,[Korisnik] [varchar](50) NOT NULL
  32. ,[Grad] [varchar](50) NOT NULL
  33. ,[Opis] [varchar](100) NOT NULL
  34. ,CONSTRAINT [PK_Gradovi] PRIMARY KEY CLUSTERED ([GradoviID] ASC)
  35. ,CONSTRAINT [IX_Gradovi] UNIQUE NONCLUSTERED ([Korisnik] ASC, [Grad] ASC)
  36. )
  37.  
  38. ALTER TABLE [dbo].[Gradovi]
  39.         WITH CHECK
  40. ADD
  41.     CONSTRAINT [FK_Gradovi_Korisnici] FOREIGN KEY ([Korisnik]) REFERENCES [dbo].[Korisnici] ([Korisnik])
  42.  
  43. ALTER TABLE [dbo].[Gradovi]
  44.         CHECK CONSTRAINT [FK_Gradovi_Korisnici]
  45. GO
  46.  
  47. ALTER TABLE [dbo].[Gradovi]
  48. ADD
  49.     CONSTRAINT [DF_Gradovi_Opis] DEFAULT ('') FOR [Opis]
  50.  
  51. GO
  52.  
  53. -- Opcine
  54. CREATE TABLE [dbo].[Opcine]
  55. (
  56.  [OpcineID] [int] IDENTITY(1, 1)
  57.                   NOT NULL
  58. ,[Korisnik] [varchar](50) NOT NULL
  59. ,[Opcina] [varchar](50) NOT NULL
  60. ,[Opis] [nchar](10) NOT NULL
  61. ,CONSTRAINT [PK_Opcine] PRIMARY KEY CLUSTERED ([OpcineID] ASC)
  62. ,CONSTRAINT [IX_Opcine] UNIQUE NONCLUSTERED ([Korisnik] ASC, [Opcina] ASC)
  63. )
  64.  
  65. ALTER TABLE [dbo].[Opcine]
  66.         WITH CHECK
  67. ADD
  68.     CONSTRAINT [FK_Opcine_Korisnici] FOREIGN KEY ([Korisnik]) REFERENCES [dbo].[Korisnici] ([Korisnik])
  69.  
  70. ALTER TABLE [dbo].[Opcine]
  71.         CHECK CONSTRAINT [FK_Opcine_Korisnici]
  72.  
  73. GO
  74.  
  75. -- Naselja
  76. CREATE TABLE [dbo].[Naselja]
  77. (
  78.      [NaseljaID] [int] IDENTITY(1, 1)
  79.                        NOT NULL
  80.     ,[Naselje] [varchar](50) NOT NULL
  81.     ,[Korisnik] [varchar](50) NOT NULL
  82.     ,[Grad] [varchar](50) NULL
  83.     ,[Opcina] [varchar](50) NULL
  84.     ,[Opis] [varchar](100) NOT NULL
  85.     ,CONSTRAINT [PK_Naselja] PRIMARY KEY CLUSTERED ([NaseljaID] ASC)
  86.     ,CONSTRAINT [IX_Naselja] UNIQUE NONCLUSTERED ([Korisnik] ASC, [Naselje] ASC)
  87. )
  88. ALTER TABLE [dbo].[Naselja]
  89.         WITH CHECK
  90. ADD
  91.     CONSTRAINT [FK_Naselja_Gradovi] FOREIGN KEY ([Korisnik], [Grad]) REFERENCES [dbo].[Gradovi] ([Korisnik], [Grad])
  92. GO
  93.  
  94. ALTER TABLE [dbo].[Naselja]
  95.         CHECK CONSTRAINT [FK_Naselja_Gradovi]
  96. GO
  97.  
  98. ALTER TABLE [dbo].[Naselja]
  99.         WITH CHECK
  100. ADD
  101.     CONSTRAINT [FK_Naselja_Opcine] FOREIGN KEY ([Korisnik], [Opcina]) REFERENCES [dbo].[Opcine] ([Korisnik], [Opcina])
  102. GO
  103.  
  104. ALTER TABLE [dbo].[Naselja]
  105.         CHECK CONSTRAINT [FK_Naselja_Opcine]
  106. GO
  107.  
  108. ALTER TABLE [dbo].[Naselja]
  109. ADD
  110.     CONSTRAINT [DF_Naselja_Opis] DEFAULT ('') FOR [Opis]
  111.  
  112. -- Naselje je ili vezano uz opcinu ili uz grad
  113. ALTER TABLE dbo.Naselja
  114. ADD
  115.     CONSTRAINT CK_Naselja CHECK ((Opcina IS NULL
  116.                                   AND Grad IS NOT NULL)
  117.                                  OR (Opcina IS NOT NULL
  118.                                      AND Grad IS NULL))
  119. GO
  120.  
  121. -- Ulice
  122. CREATE TABLE [dbo].[Ulice]
  123. (
  124.  [UliceID] [int] IDENTITY(1, 1)
  125.                  NOT NULL
  126. ,[Ulica] [varchar](50) NOT NULL
  127. ,[Korisnik] [varchar](50) NOT NULL
  128. ,[Naselje] [varchar](50) NOT NULL
  129. ,[Opis] [varchar](100) NOT NULL
  130. ,CONSTRAINT [PK_Ulice] PRIMARY KEY CLUSTERED ([UliceID] ASC)
  131. ,CONSTRAINT [IX_Ulice] UNIQUE NONCLUSTERED ([Ulica] ASC, [Korisnik] ASC)
  132. )
  133.  
  134. ALTER TABLE [dbo].[Ulice]
  135.         WITH CHECK
  136. ADD
  137.     CONSTRAINT [FK_Ulice_Naselja] FOREIGN KEY ([Korisnik], [Naselje]) REFERENCES [dbo].[Naselja] ([Korisnik], [Naselje])
  138.  
  139. ALTER TABLE [dbo].[Ulice]
  140.         CHECK CONSTRAINT [FK_Ulice_Naselja]
  141.  
  142. ALTER TABLE [dbo].[Ulice]
  143. ADD
  144.     CONSTRAINT [DF_Ulice_Opis] DEFAULT ('') FOR [Opis]
Advertisement
Add Comment
Please, Sign In to add comment