mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-11-30 21:51:56 +01:00
115 lines
3.1 KiB
SQL
115 lines
3.1 KiB
SQL
#########################################
|
|
#
|
|
# SQL-Dump für Modulprüfung 151
|
|
#
|
|
# 03.10.2006
|
|
#
|
|
# Sandro Ropelato
|
|
#
|
|
#########################################
|
|
|
|
|
|
|
|
# Datenbank mit Testdaten erstellen:
|
|
####################################
|
|
|
|
--
|
|
-- Tabellenstruktur:
|
|
--
|
|
|
|
CREATE TABLE buchungen
|
|
(
|
|
Buchungen_ID int(11) NOT NULL auto_increment,
|
|
Buchungen_Beschreibung text collate latin1_general_ci,
|
|
Buchungen_Betrag decimal(10,2) default NULL,
|
|
Buchungen_Datum datetime default NULL,
|
|
Buchungen_Sollkonto_Typ int(11) NOT NULL,
|
|
Buchungen_Habenkonto_Typ int(11) NOT NULL,
|
|
Buchungen_Sollkonto int(11) default NULL,
|
|
Buchungen_Habenkonto int(11) default NULL,
|
|
PRIMARY KEY (Buchungen_ID),
|
|
KEY IDX_Buchungen1 (Buchungen_Sollkonto),
|
|
KEY IDX_Buchungen2 (Buchungen_Habenkonto)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;
|
|
|
|
|
|
CREATE TABLE konten
|
|
(
|
|
Konten_ID int(11) NOT NULL default '0',
|
|
Konten_Bezeichnung varchar(50) collate latin1_general_ci default NULL,
|
|
Konten_Beschreibung text collate latin1_general_ci,
|
|
Konten_Typ int(11) default NULL,
|
|
PRIMARY KEY (Konten_ID),
|
|
UNIQUE KEY IDX_Konten1 (Konten_ID)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
|
|
|
|
|
--
|
|
-- Beispieldaten:
|
|
--
|
|
|
|
INSERT INTO buchungen VALUES (1, NULL, 20000.00, '2006-10-02 14:01:24', 0, 0, 10000, 3000);
|
|
INSERT INTO buchungen VALUES (2, NULL, 3600.00, '2006-10-02 14:02:11', 0, 0, 10000, 4000);
|
|
INSERT INTO buchungen VALUES (3, NULL, 800.00, '2006-10-02 14:03:00', 0, 0, 1000, 11000);
|
|
INSERT INTO buchungen VALUES (4, NULL, 8300.00, '2006-10-02 14:03:11', 0, 0, 2000, 11000);
|
|
|
|
INSERT INTO konten VALUES (1000, 'Kasse', NULL, 0);
|
|
INSERT INTO konten VALUES (2000, 'Debitoren', NULL, 0);
|
|
INSERT INTO konten VALUES (3000, 'Hypothek', NULL, 2);
|
|
INSERT INTO konten VALUES (4000, 'Kreditoren', NULL, 2);
|
|
INSERT INTO konten VALUES (10000, 'Warenaufwand', NULL, 4);
|
|
INSERT INTO konten VALUES (11000, 'Warenertrag', NULL, 5);
|
|
|
|
|
|
|
|
|
|
# Benutzer mit Schreibberechtigung:
|
|
###################################
|
|
|
|
CREATE USER 'benutzer1'@ '%' IDENTIFIED BY 'helloWorld';
|
|
|
|
GRANT ALL PRIVILEGES ON * . *
|
|
TO 'benutzer1'@ '%'
|
|
IDENTIFIED BY '**********'
|
|
WITH GRANT OPTION
|
|
MAX_QUERIES_PER_HOUR 0
|
|
MAX_CONNECTIONS_PER_HOUR 0
|
|
MAX_UPDATES_PER_HOUR 0
|
|
MAX_USER_CONNECTIONS 0 ;
|
|
|
|
|
|
|
|
# Benutzer nur mit Leseberechtigung:
|
|
####################################
|
|
|
|
CREATE USER 'benutzer2'@ '%' IDENTIFIED BY 'phpBuch';
|
|
|
|
GRANT SELECT ON * . *
|
|
TO 'benutzer2'@ '%'
|
|
IDENTIFIED BY '*******'
|
|
WITH MAX_QUERIES_PER_HOUR 0
|
|
MAX_CONNECTIONS_PER_HOUR 0
|
|
MAX_UPDATES_PER_HOUR 0
|
|
MAX_USER_CONNECTIONS 0 ;
|
|
|
|
|
|
|
|
# Summe der Beträge auf der Soll-Seite eines Kontos:
|
|
####################################################
|
|
|
|
# SELECT SUM(Buchungen_Betrag) FROM Buchungen WHERE Buchungen_Sollkonto = {bitte Kontennummer einfügen};
|
|
|
|
|
|
# Summe der Beträge auf der Haben-Seite eines Kontos:
|
|
#####################################################
|
|
|
|
# SELECT SUM(Buchungen_Betrag) FROM Buchungen WHERE Buchungen_Habenkonto = {bitte Kontennummer einfügen};
|
|
|
|
|
|
# Falsche Buchungen (Sollkonto == Habenkonto):
|
|
##############################################
|
|
|
|
# SELECT * FROM Buchungen WHERE Buchungen_Sollkonto = Buchungen_Habenkonto;
|
|
|
|
|