sql >> Database teknologi >  >> RDS >> Mysql

Skemadefinitioner af DBMS

Forskellige databasestyringssystemer definerer skema på deres egen måde. Dette kan gøre det vanskeligt for databaseudviklere at finde ud af præcis, hvad et skema er – især når der skiftes mellem forskellige DBMS'er.

Denne artikel indeholder definitioner, der bruges af de tre førende databasesystemer.

 MySQL

MySQL-dokumentationen definerer et skema fra både et konceptuelt og et fysisk synspunkt.

Konceptuel

Konceptuelt er et skema et sæt af indbyrdes forbundne databaseobjekter, såsom tabeller, tabelkolonner, datatyper for kolonnerne, indekser, fremmednøgler og så videre. Disse objekter er forbundet via SQL-syntaks, fordi kolonnerne udgør tabellerne, fremmednøglerne refererer til tabeller og kolonner, og så videre. Ideelt set er de også logisk forbundet og arbejder sammen som en del af en samlet applikation eller fleksibel ramme. For eksempel informationsskemaet og performance_schema databaser bruger "skema" i deres navne for at understrege de tætte relationer mellem de tabeller og kolonner, de indeholder.

Fysisk

Det påpeges derefter, at der fra et fysisk synspunkt ikke er nogen forskel mellem skemaer og databaser:

I MySQL, fysisk, et skema er synonymt med en database . Du kan erstatte søgeordet SCHEMA i stedet for DATABASE i MySQL SQL-syntaks, for eksempel ved hjælp af CREATE SCHEMA i stedet for CREATE DATABASE .

Kilde: "MySQL-ordliste". MySQL 5.7 Referencemanual. MySQL. Hentet 6. juni 2016.

SQL-server

Ordliste

Databaseskema

Navnene på tabeller, felter, datatyper og primære og fremmede nøgler i en database.

Kilde: "Ordliste". SQL Server 2016 teknisk dokumentation. Microsoft Developer Network. Hentet 6. juni 2016.

SQL Server teknisk artikel

Denne artikel om databaseobjektskemaer tegner eksplicit sondringen mellem en databasebruger og et skema (dette er i modsætning til, hvordan Oracle definerer skemaer – nedenfor).

Et skema er et særskilt navneområde for at lette adskillelsen, administrationen og ejerskabet af databaseobjekter.

og

Et objekt, der ejes af en databasebruger, er ikke længere bundet til denne bruger. Objektet tilhører nu et skema – en beholder, der kan indeholde mange databaseobjekter.

og

Denne adskillelse betyder, at objekter og skemaer kan oprettes, før brugere føjes til databasen. Det betyder også, at en bruger kan droppes uden specifikt at droppe de objekter, der ejes af denne bruger.

Kilde: "SQL Server Best Practices – Implementation of Database Object Schemas". Microsoft TechNet artikel. Udgivet:november 2008. Hentet 6. juni 2016.

Oracle-database

Oracle Databases skemasystem er ret anderledes end de andre systemer. Oracles skema er meget knyttet til databasebrugeren.

Et skema er en samling af logiske strukturer af data eller skemaobjekter. Et skema ejes af en databasebruger og har samme navn som denne bruger. Hver bruger ejer et enkelt skema.

Oracle skelner mellem skemaobjekter og ikke-skemaobjekter . Så med andre ord, nogle databaseobjekter kan ikke inkluderes i et skema.

Skemaobjekter

I Oracle Database, skemaobjekter inkludere følgende:

  • Klynger
  • Begrænsninger
  • Databaselinks
  • Databaseudløsere
  • Dimensioner
  • Eksterne procedurebiblioteker
  • Indeksorganiserede tabeller
  • Indekser
  • Indekstyper
  • Java-klasser, Java-ressourcer, Java-kilder
  • Materialiserede visninger
  • Materialiserede visningslogfiler
  • Minedriftsmodeller
  • Objekttabeller
  • Objekttyper
  • Objektvisninger
  • Operatører
  • Pakker
  • Sekvenser
  • Gemme funktioner, lagrede procedurer
  • Synonymer
  • Tabeller
  • Visninger

Ikke-skemaobjekter

I Oracle Database er følgende objekter ikke-skemaobjekter :

  • Kontekster
  • Mappen
  • Udgaver
  • Gendannelsespunkter
  • Roller
  • Tilbageføringssegmenter
  • Tablespaces
  • Brugere

Kilde: "Databaseobjekter". Oracle Database Online Dokumentation 12c Release 1 (12.1). Oracle Hjælpecenter. Hentet 6. juni 2016.


  1. TIMESTAMPADD() Eksempler – MySQL

  2. Blanding af ANSI 1992 JOINs og COMMAs i en forespørgsel

  3. Hvad er logisk OG Operator i SQL Server - SQL Server / TSQL Tutorial Del 120

  4. Tidszonenavne med identiske egenskaber giver forskellige resultater, når de anvendes på tidsstemplet