Creați scheme, baze de date

schemă de schema în ceea ce privește tabelele bazei de date este un tip de container de obiecte, declanșatoare, proceduri stocate etc. Acest articol se va concentra pe crearea și ștergerea schemei bazei de date SGBD următoare:

Pentru a crea o schemă, trebuie să utilizați script-ul SQL CREATE SCHEMA. Diferite scheme pot include obiecte de același nume. Când obiecte de manipulare a diferitelor scheme trebuie să indice numele circuite ca prefix. Pentru a crea o schemă, trebuie să aveți privilegiile corespunzătoare. Desigur, acest privilegiu superuser'y proprii.

Crearea Oracle schemă

Oracle se referă la platformele SGBD care nu au un sprijin explicit comanda CREATE SCHEMA. Cu toate acestea, el încă creează implicit o schemă atunci când un utilizator creează primul său obiect bază de date. Această bază de date utilizează comanda „CREATE SCHEMA“ pentru a crea o singură tranzacție tabele și vizualizări, împreună cu furnizarea de acces la ele.

Trebuie remarcat faptul că Oracle autorizează alte instrucțiuni de utilizare crea script-uri standard de CREATE SCHEMA TABLE, CREATE VIEW, și Grant. Nu puteți utiliza orice extensii ale acestor comenzi sunt disponibile la Oracle, în cazul în care aceste instrucțiuni sunt incluse în instrucțiunea CREATE SCHEMA. Sintaxa pentru crearea obiectelor cu circuit.

În exemplul următor, scheme de „pictor“ „sunt tabelele și punctele de vedere. Coma în această declarație CREATE SCHEMA este definit de acces la facilitățile.

Ordinea de comenzi pentru a crea obiecte și drepturi de acces în instrucțiunea CREATE nu este critică SCHEMA, dar ar trebui să respecte în continuare cu sintaxa. Oracle execută instrucțiuni CREATE SCHEMA numai dacă toate GRANT sale declarații CREATE și au avut succes.

Crearea MS SQL schemă

În baza de date MS SQL folosind tranzacțiile poate crea CREATE SCHEMA o schemă simultan cu crearea de tabele ei, punctele de vedere, și poate acorda sau refuza accesul la aceste obiecte folosind GRANT, DENY sau REVOKE.

CREATE tranzacție sunt atomice SCHEMA. Dacă apar în timpul executării unei declarații produce erori de schima nici unul dintre aceste obiecte nu este creat și nici o permisiune nu este acordată.

Obiectele care urmează să fie create folosind instrucțiunea CREATE SCHEMA pot fi enumerate în orice ordine, cu excepția reprezentările care se referă la alte puncte de vedere. În acest caz, reprezentare de trimitere trebuie să fie creată după prezentarea la care se referă.

Prin utilizarea GRANT poate acorda permisiunea de pe un obiect înainte de a fi creat, iar CREATE VIEW pot apărea înainte de instrucțiuni CREATE TABLE, creați tabele care se face referire de către punctul de vedere. Mai mult decât atât, CREATE TABLE poate declara cheile străine la tabelele prezentate mai târziu în instrucțiunea CREATE SCHEMA.

Crearea unui scheme PostgreSQL

Noua schemă este creată în serverul de baze de date curent la care sunteți conectat. Numele trebuie să fie unic pentru o anumită bază de date.

  • Nume de utilizator
    nume de utilizator (nume rol) proprietarului schemă. Dacă numele de utilizator nu este disponibil, se va utiliza numele de utilizator executa script-ul. Pentru a crea o schemă pentru proprietarul alt rol (rol), trebuie să se acorde un rol sau să fie superuser'om.
  • schema_element
    script-ul SQL specifică crearea simultană în interiorul obiecte de schema. Împreună cu circuit puteți crea MASA, VIEW, INDEX, SECVENȚE, TRIGGER pentru a le da drepturi corespunzătoare. În cazul în care script-ul este prezent AUTORIZARE numele de utilizator, atunci toate drepturile sunt deținute de nume de utilizator. După crearea schemei poate crea, de asemenea, alte obiecte în ea.

Exemple de creare circuit în PostgreSQL.

Notă. Conform standardului SQL, proprietarul schemei este întotdeauna „maestru“ al tuturor în interiorul obiectelor. PostgreSQL, precum și MSSQL, permite crearea de obiecte în cadrul circuitelor, „maestru“, care poate fi proprietarul circuitului, dar acest circuit având privilegii adecvate.

Crearea unei baze de date MySQL

În MySQL, conceptul de schemă de baze de date de baze de date echivalentă cu conceptul în alte baze de date, cum ar fi MSSQL, PostgreSQL, Derby și are aceeași semnificație - containerul nu este legată de obiectul utilizator. Crearea unei baze de date este realizată folosind instrucțiunea CREATE DATABASE.

  • dB_Name
    Numele bazei de date create.
  • DACĂ NU EXISTĂ
    Dacă acest paarmetr nu specifica atunci când creați o bază de date cu numele pe care deja există, o eroare la executarea comenzii.
  • SET DE CARACTERE
    Codificarea tabelele bazei de date de detectare.
  • COLLATE
    Definirea ordinea de sortare a datelor.

La crearea unui tabel, acești parametri SET CARACTERE și Collate nu este specificat, atunci ordinea de codificare și de sortare a tabelelor nou create sunt preluate din valorile definite pentru baza de date curentă.

Exemple de utilizare CREATE DATABASE

Crearea unui sistem Derby

Numele de schemă nu trebuie să conțină mai mult de 128 de caractere și să fie unic în cadrul bazei de date. De asemenea, numele nu poate începe cu prefixul SYS.

Numai proprietarul bazei de date se poate crea o diagramă cu numele, diferit de numele de utilizator / nume de utilizator, și numai proprietarul bazei de date poate determina numele de utilizator AUTORIZARE cu un nume de utilizator / nume de utilizator diferit de conectare curentă.

Notă. nume de utilizator poate aparține numai utilizatorului, nu rolul.

Pentru a șterge sistemul trebuie să utilizeze script-ul SQL picătură schemă.

Eliminarea Oracle schemă

Pentru îndepărtarea SGBD Oracle schema utilizatorului trebuie să elimine; obiecte de schema sunt șterse automat:

CASCADE cuvinte cheie înseamnă a elimina toate asociate cu schema (de utilizator) obiecte.

Circuit pentru indepartarea MSSQL

Circuit amovibil nu trebuie să conțină nici un obiect. În cazul în care schema conține obiecte, punerea în aplicare a declarației DROP se termină cu un eșec. Informații despre schemele pot fi văzute în prezentarea sys.schemas catalog.

Circuit de Eliminare PostgreSQL

Circuitul poate fi îndepărtat numai de către proprietar sau superuser'om acestuia. Trebuie amintit faptul că proprietarul poate șterge proprietarul schemei și toate obiectele conținute în ea, chiar dacă acestea nu fac parte.

Când ștergeți un sistem în PostgreSQL opțional poate include parametrii:

  • IF EXISTS
    Verificarea circuitului. În cazul în care sistemul nu este, atunci va avea loc o excepție.
  • CASCADE
    Eliminați automat obiectele conținute în circuit.
  • RESTRICT
    Nu ștergeți schema dacă acesta conține obiecte. Acest parametru este utilizat în mod implicit.

Circuit EXEMPLU ordine de îndepărtare, împreună cu obiectele conținute în aceasta:

Scoaterea bazei de date MySQL

Baza de date MySQL nu numai că se poate elimina o bază de date goală.

Dacă nu specificați dacă există, atunci când încercați să eliminați baza de date non-existente nu va reuși comanda. Această opțiune este disponibilă în MySQL 3.22 și versiunile ulterioare. Atunci când comanda DROP DATABASE este îndepărtată ca bază de date în sine, și toate obiectele care sunt în ea.

Următorul exemplu șterge baza de date „Forum“:

Scoaterea schemei Derby

Baza de date Derby poate elimina doar circuitul de gol. SYS și APP schema (implicit schema de utilizator) nu pot fi eliminate.

RESTRICT de cuvinte cheie este opțională și necesită punerea în aplicare a obiectelor de control în sistemul de șters.

În SQL standard, script-ALTER nu este definit SCHEMA.

În PostgreSQL, numele proprietarului sau schemă, puteți modifica scriptul ALTER SCHEMA.

Pentru a utiliza ALTER trebuie să fie SCHEMA proprietarul schemei și să aibă privilegiile corespunzătoare. Dacă modificați schema de numire trebuie să fi CREATE privilegiu pentru baza de date curentă. Pentru a schimba proprietarul, trebuie să fie un membru al rolurilor respective și să-l CREEAZĂ privilegii.

SGBD MSSQL via ALTER obiecte script poate SCHEMA fi transferate de la un circuit la altul.

Utilizatorii și scheme în MSSQL separate complet. ALTER este folosit doar SCHEMA pentru mutarea obiectelor între scheme în aceeași bază de date. Următorul exemplu Circuitul Clienții care este modificat prin mutarea din circuitul de masă orașe Persoane.