Advertisement
Guest User

Untitled

a guest
Apr 29th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.24 KB | None | 0 0
  1. /*Datenbank erstellen (löschen wenn vorhanden)*/
  2. drop database if exists Skiverleih;
  3. create database Skiverleih;
  4. use Skiverleih;
  5.  
  6. /*Tabellen erstellen (löschen wenn vorhanden)*/
  7. drop table if exists PrivatKunde, FirmenKunde, Kunde, RabattGruppe, KundenGruppe, FirmKu_zu_KuGru, SkiTyp, Qualitaet, Zeit, Ski, Ausleihe;
  8.  
  9. create table PrivatKunde (id_PrivatKunde int not null auto_increment primary key, BLZ int, KontoNr int);
  10.  
  11. create table FirmenKunde (id_FirmenKunde int not null auto_increment primary key, Ansprechpartner varchar(32));
  12.  
  13. create table Kunde (id_Kunde int not null auto_increment primary key, PrivatKundeFK int,
  14. FirmenKundeFK int, Name varchar(32), Vorname varchar(32), PLZ varchar(32), Ort varchar(32),
  15. foreign key (PrivatKundeFK) references PrivatKunde(id_PrivatKunde), foreign key (FirmenKundeFK)
  16. references FirmenKunde(id_FirmenKunde));
  17.  
  18. create table RabattGruppe (id_RabattGruppe int not null auto_increment primary key, Rabatt varchar(32));
  19.  
  20. create table KundenGruppe (id_KundenGruppe int not null auto_increment primary key, Name varchar(32));
  21.  
  22. create table FirmKu_zu_KuGru (FirmenKundeFK int not null auto_increment primary key, KundenGruppeFK int not null,
  23. foreign key (FirmenKundeFK) references FirmenKunde(id_FirmenKunde),
  24. foreign key (KundenGruppeFK) references KundenGruppe(id_KundenGruppe));
  25.  
  26. create table SkiTyp (id_SkiTyp int not null auto_increment primary key, Typ varchar(32));
  27.  
  28. create table Qualitaet (id_Qualitaet int not null auto_increment primary key, Qualitaet varchar(32));
  29.  
  30. create table Zeit (id_Zeit int not null auto_increment primary key, StartTag date, EndTag date, AnzTage int);
  31.  
  32. create table Ski (id_Ski int not null auto_increment primary key, SkiTypFK int, ZeitFK int,
  33. QualitaetFK int, Hersteller varchar(32), Bezeichnung varchar(32), AnzExemplare int,
  34. foreign key (SkiTypFK) references SkiTyp(id_SkiTyp), foreign key (ZeitFK) references Zeit(id_Zeit),
  35. foreign key (QualitaetFK) references Qualitaet(id_Qualitaet));
  36.  
  37. create table Ausleihe (KundeFK int not null, SkiFK int not null, foreign key (KundeFK) references Kunde(id_Kunde),
  38. foreign key (SkiFK) references FirmenKunde(id_FirmenKunde));
  39.  
  40. /*Daten einfügen*/
  41. insert into SkiTyp (Typ) values ('Slalomski');
  42. insert into SkiTyp (Typ) values ('Abfahrtsski');
  43. insert into SkiTyp (Typ) values ('Langlaufski');
  44.  
  45. insert into Qualitaet (Qualitaet) values ('Basis');
  46. insert into Qualitaet (Qualitaet) values ('Mid-Range');
  47. insert into Qualitaet (Qualitaet) values ('Top-Level');
  48.  
  49. insert into KundenGruppe (name) values ('GrossKunde');
  50. insert into KundenGruppe (name) values ('NeuKunde');
  51. insert into KundenGruppe (name) values ('Kunde');
  52.  
  53. insert into RabattGruppe (Rabatt) values ('Skonto');
  54. insert into RabattGruppe (Rabatt) values ('MengeRabatt');
  55.  
  56.  
  57. insert into Zeit (StartTag, EndTag) values ("2015-11-12", "2015-12-12");
  58. insert into Zeit (StartTag, EndTag) values ("2015-02-11", "2015-03-12");
  59. insert into Zeit (StartTag, EndTag) values ("2015-01-12", "2016-01-01");
  60.  
  61. insert into FirmenKunde (Ansprechpartner) values ('Herr Meier');
  62. insert into FirmenKunde (Ansprechpartner) values ('Herr Mumentaler');
  63.  
  64. insert into PrivatKunde (BLZ, KontoNR) values (01538642, 0914);
  65. insert into PrivatKunde (BLZ, KontoNR) values (03569814, 8091);
  66.  
  67. insert into Kunde (PrivatKundeFK, FirmenKundeFK, Name, Vorname, PLZ, Ort) values (1,2,'Ackermann', 'Alexa', '3172', 'Niederwangen');
  68. insert into Kunde (PrivatKundeFK, FirmenKundeFK, Name, Vorname, PLZ, Ort) values (1,2,'Kaufmann', 'Oliver', '4852', 'Rohtrist');
  69. insert into Kunde (PrivatKundeFK, FirmenKundeFK, Name, Vorname, PLZ, Ort) values (2,1,'Neaf', 'Michael', '3645', 'Gwatt');
  70. insert into Kunde (PrivatKundeFK, FirmenKundeFK, Name, Vorname, PLZ, Ort) values (2,1,'Schättin', 'Remo', '3600', 'Thun');
  71.  
  72. insert into Ski (SkiTypFK, ZeitFK, QualitaetFK, Hersteller, Bezeichnung, AnzExemplare) values (1,2,1,'Fischer', 'Ranger JR', 5);
  73. insert into Ski (SkiTypFK, ZeitFK, QualitaetFK, Hersteller, Bezeichnung, AnzExemplare) values (1,3,3,'Head', 'World Cup Rebels', 2);
  74. insert into Ski (SkiTypFK, ZeitFK, QualitaetFK, Hersteller, Bezeichnung, AnzExemplare) values (3,3,2,'stoekli', 'Laser SG', 3);
  75. insert into Ski (SkiTypFK, ZeitFK, QualitaetFK, Hersteller, Bezeichnung, AnzExemplare) values (2,1,2,'Fischer', 'RC4 Superior Pro', 6);
  76.  
  77. /*Benutzer erstellen (löschen wenn vorhanden)*/
  78. drop user if exists 'PK'@'localhost', 'AA'@'localhost', 'M_1'@'%', 'M_2'@'%', 'M_3'@'localhost', 'M_4'@'%', 'M_5'@'%';
  79. create user 'PK'@'localhost' identified by 'r00tpw';
  80. create user 'AA'@'localhost' identified by 'r00tpw';
  81. create user 'M_1'@'%' identified by '123';
  82. create user 'M_2'@'%' identified by '123';
  83. create user 'M_3'@'localhost' identified by '123';
  84. create user 'M_4'@'%' identified by '123';
  85. create user 'M_5'@'%' identified by '123';
  86.  
  87. /*Rollen erstellen (löschen wenn vorhanden)*/
  88. drop role if exists DBAdmin, Lagerist, HR, Verkauf;
  89. create role DBAdmin;
  90. create role Lagerist;
  91. create role HR;
  92. create role Verkauf;
  93.  
  94. /*Rechte an Rollen vergeben*/
  95. grant all privilegs on Skiverlei.* to DBAdmin;
  96.  
  97. grant select, insert, update on Skiverleih.Ski to Lagerist;
  98. grant select, insert, update on Skiverleih.SkiTyp to Lagerist;
  99. grant select, insert, update on Skiverleih.Qualitaet to Lagerist;
  100. grant select on Skiverleih.zeit to Lagerist;
  101.  
  102. grant select, insert, update on Skiverleih.PrivatKunde to HR;
  103. grant select, insert, update on Skiverleih.FirmenKunde to HR;
  104. grant select, insert, update on Skiverleih.KundenGruppe to HR;
  105. grant select, insert, update on Skiverleih.RabattGruppe to HR;
  106.  
  107. grant select on Skiverleih.Ski to HR;
  108. grant select on Skiverleih.SkiTyp to HR;
  109. grant select on Skiverleih.Qualitaet to HR;
  110. grant select on Skiverleih.Kunde to HR;
  111. grant select on Skiverleih.RabattGruppe to HR;
  112. grant select, insert on Skiverleih.Zeit to HR;
  113.  
  114. /*Benutzer den Rollen hinzufügen*/
  115. grant DBAdmin to PK@localhost;
  116. grant DBAdmin to 'AA'@'localhost';
  117. grant Lagerist to 'M_1'@'%';
  118. grant Lagerist to 'M_2'@'%';
  119. grant HR to 'M_3'@'localhost';
  120. grant Verkauf to 'M_4'@'%';
  121. grant Verkauf to 'M_5'@'%';
  122.  
  123. /*Views (löschen wenn vorhanden)*/
  124. drop view if exists view_Kunde;
  125. drop view if exists view_Ski;
  126. create view view_Kunde as select * from Kunde;
  127. create view view_Ski as select * from Ski;
  128.  
  129. select * from view_Kunde;
  130. select * from view_Ski;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement