Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. /*zadatak 1
  2. kreiranje seme, tabela i ogranicenja
  3. */
  4. create schema HotelPlus
  5. go
  6.  
  7. create table HotelPlus.hotel(
  8. idhot numeric(8) not null,
  9. adresa varchar(60),
  10. naziv varchar(30) not null,
  11. kat numeric(1) not null,
  12. brziror varchar(20),
  13. tel varchar(18),
  14.  
  15. constraint ck_tel check(tel>=11),
  16. constraint pk_hotel primary key(idhot)
  17. );
  18.  
  19. create table HotelPlus.recepcija(
  20. idhot numeric(8) not null,
  21. brrec numeric(2)not null,
  22. lok numeric(4) not null,
  23. mestor varchar(60),
  24.  
  25. constraint pk_recepcija primary key(idhot, brrec),
  26. constraint fk_recepcija_hotel foreign key(idhot) references HotelPlus.hotel(idhot)
  27. );
  28.  
  29. create table HotelPlus.soba(
  30. idhot numeric(8) not null,
  31. brsob numeric(8)not null,
  32. tipsob varchar(25) not null,
  33. opis varchar(60),
  34. napom char(80),
  35.  
  36. constraint pk_soba primary key(idhot, brsob),
  37. constraint fk_soba_hotel foreign key(idhot) references HotelPlus.hotel(idhot)
  38. );
  39.  
  40. create table HotelPlus.radnik(
  41. jmbg varchar(13) not null,
  42. ime varchar(20)not null,
  43. prz varchar(50) not null,
  44. email varchar(60),
  45. uloga char(1) not null,
  46.  
  47. constraint pk_radnik primary key(jmbg)
  48. );
  49. create table HotelPlus.smena(
  50. idsme numeric(8) not null,
  51. nazsme varchar(60)not null,
  52. vremeod numeric(2) not null,
  53. vremedo numeric(2) not null,
  54. napsme char(300) default(' '),
  55.  
  56. constraint pk_smena primary key(idsme)
  57. );
  58. create table HotelPlus.radi(
  59. jmbg varchar(13) not null,
  60. idsme numeric(8)not null,
  61. datum date not null,
  62. idhot numeric(8),
  63. brrec numeric(2),
  64.  
  65. constraint pk_radi primary key(jmbg, idsme),
  66. constraint fk_radi_radnik foreign key(jmbg) references HotelPlus.radnik(jmbg),
  67. constraint fk_radi_smena foreign key(idsme) references HotelPlus.smena(idsme),
  68. constraint fk_radi_recepcja foreign key(idhot, brrec) references HotelPlus.recepcija(idhot, brrec)
  69. );
  70. --------------------------------------------------------------------------------------------------------
  71. /*zadatak 2
  72. prebrojavanje koliko je objekata koje vrste kreirano nakoji dan u nedelji
  73. */
  74. select datename(dw, create_date) as 'Dan u nedelji', type_desc as 'Tip objekta', COUNT(object_id) as 'Broj objekata te vrste'
  75. from sys.all_objects
  76. where DATEPART(YEAR,create_date)=2018
  77. group by datename(dw, create_date), type_desc
  78. go
  79.  
  80. --------------------------------------------------------------------------------------------------------
  81. /*zadatak 3
  82. kreiranje sekvence za unos celih brojeva; pocinje sa 1 i uvecava se za 5
  83. na maksimalnoj vrednosti ispisuje poruku da je dostigla max vrednost
  84. dodavanje novog ogranicenja za koriscenje sekvence u tabeli smena
  85. */
  86. create sequence SEQ_smena_id as int
  87. start with 1
  88. increment by 5
  89. go
  90. alter table HotelPlus.smena add constraint DFT_smena_id default (next value for SEQ_smena_id) for idsme
  91. go
  92. --------------------------------------------------------------------------------------------------------
  93. /*zadatak 4
  94. dodavanje obolezja oznaka_sobe u tabeli soba
  95. */
  96. alter table HotelPlus.soba
  97. add oznaka_sobe char(1) not null
  98. go
  99. /*obrazlozenje:
  100. biramo tip podatka char jer obelezje oznaka_sobe nece biti cesto menjano
  101. pa nema potrebe za tipom podatka vrchar
  102. */
  103. --------------------------------------------------------------------------------------------------------
  104. /*zadatak 5
  105. brisanje tabele radi, uz prethocnu proveru postojanja tabele
  106. */
  107. if OBJECT_ID('HotelPlus.radi','U') is not null
  108. drop table HotelPlus.radi
  109. go
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement