Create Table, Rechte und Rollen

Slides:



Advertisements
Ähnliche Präsentationen
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Advertisements

Relationale Datenbank MySQL
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL als Abfragesprache
SQL als Abfragesprache
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Datenintegrität Referentielle Integrität create table
JDBC EDV JDBC.
Datenbanken 13: Objekt-Klasse-Datenbank
Datenbanken 10: Einfügen, Ändern, Löschen
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern © Erhard Künzel.
2.2 Definition eines Datenbankschemas (SQL-DDL)
Datenbankentwicklung IV-LK
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Relationale Datenbanken III
Datenbanken?.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Einführung in Datenbankmodellierung und SQL
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Datenschutz in DBMS Benutzerverwaltung Rechteverwaltung
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Integritätsbedingungen (Constraints)
11 Verwaltung von Abhängigkeiten. Ziele Am Ende dieser Lektion verfügen Sie über die folgenden Kenntnisse: Überwachen prozeduraler Abhängigkeiten Effekte.
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Einfache SQL-Befehle Schedule: Timing Topic 40 minutes Lecture
SystemJ AbschlußpräsentationDBJCatalogManager Dennis Heimann + Marcus Hetterle Friedrich Schiller Universität Jena 2005.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
Durbusch.de Inhalte ändern. Allgemeines Die Inhalte der Homepage treten in verschiedenen Formaten auf. Die Startseite besteht im wesentlichen aus dem.
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Thomas Tretter, 10. Februar 2004Oracle Label Security1 Oracle Label Security (fine grained access control) 10. Februar 2004.
Reorganisation und Administration großer SAP-DB Manfred Riemer SAP AG (z.B. MCOD-Systeme)
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Klassen und Tabellen.
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Benutzernamen ändern mit BImport paedML® 3.0 Novell
Anforderungen an die neue Datenstruktur
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Logisches Datenmodell
Wirtschaftsinformatik
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Flashback mal sieben DOAG RegioTreff , Wiesbaden
Abfragesprache SQL in ORACLE
Sichten.
Beispiele zur Datenänderung
Constraints anlegen und löschen, Data Dictionary Tabellen
Installation und erste Schritte
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Templates
Die erste Form der INSERT-Anweisung dient der Neueingabe von Daten:
Administrieren und Arbeiten mit Datenbanken und SQL
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
(Structured Query Language)
 Präsentation transkript:

Create Table, Rechte und Rollen DDL Create Table, Rechte und Rollen

Datentypen In einer Tabelle wird jeder Spalte (Attribut) ein eigener Datentyp zugeordnet Wichtigste Datentypen in Oracle VARCHAR2(n) : Text der Länge n. NUMBER(n,p) : Dezimalzahl mit insgesamt n Stellen, davon p Nachkommastellen DATE : Datum inklusive Uhrzeit (Stunde, Minute, Sekunde)

Tabellen anlegen SYNTAX BEISPIEL CREATE TABLE tabellenname ( spaltenname datentyp (NOT NULL) , spaltenname datentyp (NOT NULL) … ); CREATE TABLE person ( nachname VARCHAR2(30) NOT NULL, geburtstag DATE, gewicht NUMBER(4,1) ); Es wird eine Tabelle PERSON angelegt mit den Spalten Nachname, Geburtstag und Gewicht NOT NULL: Beim Einfügen von Daten in die Tabelle muss bei Nachname ein Wert angegeben werden, bei Geburtstag und Gewicht nicht Nachname Geburtstag Gewicht

Tabellen anlegen – CREATE TABLE BEISPIEL CREATE TABLE person ( nachname VARCHAR2(30) NOT NULL, geburtstag DATE, gewicht NUMBER(4,1) ); HINWEIS Tabelle wird automatisch im Schema des angemeldeten Users gespeichert Andere DB-Nutzer können die Tabelle mit schemaname.person ansprechen, wenn sie die Berechtigung dazu haben Schemaname entspricht dabei dem Usernamen

SQLPlus DESCRIBE Um den Aufbau der angelegten Tabelle abzufragen, kann der SQLPlus-Befehl DESCRIBE (DESC) verwendet werden. Durch den Befehl DESC person wird z.B. der Aufbau der angelegten Tabelle Person angezeigt

Tabellenstruktur ändern – ALTER TABLE Attribut (Spalte) hinzufügen Der Tabelle person wird eine Spalte anz_autos hinzugefügt mit dem Datentyp Number (ganzzahlig, einstellig) Datentyp eines Attributs ändern Bei der Tabelle person wird die Spalte pnr für anz_autos auf NUMBER(2) abgeändert ALTER TABLE tabellenname ADD (spaltenname datentyp, spaltenname datentyp,…); ALTER TABLE person ADD (anz_autos NUMBER(1)); Ohne scale number = integer ALTER TABLE tabellenname MODIFY (spaltenname datentyp, spaltenname datentyp,…); ALTER TABLE person MODIFY (anz_autos NUMBER(2));

Tabellenstruktur ändern – ALTER TABLE Attribute löschen Bei der Tabelle person wird die Spalte anz_autos gelöscht. Tabelle umbenennen Tabelle person wird in mitarbeiter umbenannt ALTER TABLE tabellenname DROP (spaltenname, spaltenname,…); ALTER TABLE person DROP (anz_autos); Ohne scale number = integer ALTER TABLE tabellenname_alt RENAME TO tabellenname_neu; ALTER TABLE person RENAME TO mitarbeiter;

Tabelle löschen Tabelle löschen Wird purge beim Löschen nicht angegeben, wandert die Tabelle in einen Papierkorb (Recycle Bin). Aus dem Recycle Bin kann sie ggf. wiederhergestellt werden Bei Angabe von PURGE wird die Tabelle vollständig gelöscht und befindet sich nicht mehr im Recycle Bin DROP TABLE tabellenname (purge); DROP TABLE mitarbeiter purge;

Rechte und Rollen

Welche Rechte können vergeben werden? System-Rechte (System Privileges) Legen fest, welche Aktionen der Nutzer im System ausführen darf, z.B.: Create Session: Verbindung zur Datenbank aufbauen Create Table: Tabellen anlegen Objekt-Rechte (Object Privileges) Rechte für bestimmte Datenbank-Objekte (z.B. Tabellen): Insert, Update(spalteA, spalteB), Select, Delete, All Update on Scott.dept(dname): Ändern der Werte in der Spalte dname der Tabelle dept des Nutzers Scott SELECT on kirschb.emp: Anzeigen der Tabelleninhalte von emp des Nutzers kirschb System- und Objekt-Rechte

An wen werden Rechte vergeben? An einen Datenbank-Benutzer Direkte Zuweisung eines bestimmten Rechts an einen Datenbank-Benutzer An eine Rolle Rolle ist ein Container für Rechte Wird eine Rolle einem Nutzer zugewiesen, erhält dieser alle Rechte der Rolle An PUBLIC Spezielle Rolle, die jedem Datenbank-Nutzer automatisch zugeordnet wird

Wie werden Objekt-Rechte vergeben? Direkte Zuweisung eines Objekt-Rechts an einen Nutzer Zuweisung eines Rechts an eine Rolle Zuweisung eines Rechts an PUBLIC GRANT object_privilege ON schema.tabelle TO user GRANT update(ename) ON kirschb.emp TO scott GRANT object_privilege ON schema.tabelle TO rolle GRANT insert ON kirschb.emp TO bw_student GRANT object_privilege ON schema.tabelle TO PUBLIC GRANT select ON kirschb.dept TO PUBLIC

Wie werden Rollen erzeugt/vergeben? Rolle erzeugen Rolle vergeben An Datenbank-Benutzer An Rolle CREATE ROLE rollenname; GRANT rollenname TO user; GRANT rollennameB TO rollennameA;

Exkurs: Data Dictionary Speichert META-Daten über Tabellen, Views etc. in der Datenbank. Darunter: Beschreibungen angelegter Tabellen (Name, Spalten, Datentypen) und Views Daten über Nutzer und ihnen zugewiesene Rechte Meta-Daten werden in Tabellen verwaltet und können so direkt oder über vorhandene Views abgefragt werden.

Rechte und Rollen Wichtige Data Dictionary Tabellen ALL_TAB_PRIVS Objekt-Rechte, die direkt an einen Nutzer, eine Rolle oder PUBLIC vergeben wurden (Anzeige der Rechte, bei denen aktueller DB-Nutzer Objekt-Besitzer ist, Objekt-Recht besitzt oder selbst vergeben hat) Beispiel-Abfragen Welche Rechte für die Tabelle SALGRADE des Users SCOTT wurden an PUBLIC vergeben? SELECT * FROM all_tab_privs WHERE grantee = ‘PUBLIC‘ AND TABLE_SCHEMA=‘SCOTT‘ AND TABLE_NAME = ‘SALGRADE‘; Welche Rechte wurden an aktuellen Benutzer vergeben? SELECT * FROM all_tab_privs WHERE grantee = ‘KIRSCHB‘;

Rechte und Rollen Wichtige Data Dictionary Tabellen USER_ROLE_PRIVS Rollen, die direkt an den aktuellen Nutzer vergeben wurden Beispiel-Abfrage Welche Rollen besitzt der angemeldete Benutzer? SELECT granted_role, default_role FROM user_role_privs; SESSION_ROLES Rollen (direkt und indirekt), die für den Benutzer in der aktuellen Session aktiv sind

Rechte und Rollen Wichtige Data Dictionary Tabellen ROLE_ROLE_PRIVS Rollen, die an Rollen vergeben wurden Beispiel-Abfrage Welche Rollen wurden der Rolle BW_STUDENT zugewiesen? SELECT * FROM role_role_privs WHERE role = ‘BW_STUDENT‘;

Rechte und Rollen Wichtige Data Dictionary Tabellen ROLE_TAB_PRIVS Objekt-Rechte, die an Rollen vergeben wurden Beispiel-Abfrage Welche Rechte wurden der Rolle STUDENT zugewiesen? SELECT owner, privilege, table_name, column_name FROM role_tab_privs WHERE role = ‘STUDENT‘;

Rechte und Rollen Wichtige Data Dictionary Tabellen ROLE_SYS_PRIVS System-Rechte, die an Rollen vergeben wurden Beispiel-Abfrage Welche Systemrechte wurden an die Rolle FH_TRIER vergeben? SELECT privilege FROM role_sys_privs WHERE role = ‘FH_TRIER‘;