Esquema de base de dades

L'esquema de base de dades és l'estructura d'una base de dades descrita en un llenguatge formal suportat normalment per un sistema de gestió de bases de dades relacionals (RDBMS). El terme "esquema" fa referència a l'organització de les dades com un pla de com es construeix la base de dades (dividida en taules de bases de dades en el cas de bases de dades relacionals). La definició formal d'un esquema de base de dades és un conjunt de fórmules (oracions) anomenades restriccions d'integritat imposades a una base de dades.[ cita necessària ] Aquestes restriccions d'integritat asseguren la compatibilitat entre les parts de l'esquema. Totes les restriccions es poden expressar en el mateix llenguatge. Una base de dades es pot considerar una estructura en la realització del llenguatge de la base de dades. Els estats d'un esquema conceptual creat es transformen en un mapeig explícit, l'esquema de la base de dades. Això descriu com es modelen les entitats del món real a la base de dades.[1]
"Un esquema de base de dades especifica, en funció del coneixement de les possibles aplicacions de l'administrador de la base de dades, els fets que poden entrar a la base de dades o els d'interès per als possibles usuaris finals". La noció d'un esquema de base de dades juga el mateix paper que la noció de teoria en el càlcul de predicats. Un model d'aquesta "teoria" correspon molt a una base de dades, que es pot veure en qualsevol instant de temps com un objecte matemàtic. Així, un esquema pot contenir fórmules que representen restriccions d'integritat específicament per a una aplicació i les restriccions específicament per a un tipus de base de dades, totes expressades en el mateix llenguatge de base de dades. En una base de dades relacional, l'esquema defineix les taules, camps, relacions, vistes, índexs, paquets, procediments, funcions, cues, activadors, tipus, seqüències, vistes materialitzades, sinònims, enllaços de bases de dades, directoris, esquemes XML i altres elements.[2]
Una base de dades generalment emmagatzema el seu esquema en un diccionari de dades. Tot i que un esquema es defineix en un llenguatge de base de dades de text, el terme s'utilitza sovint per referir-se a una representació gràfica de l'estructura de la base de dades. En altres paraules, l'esquema és l'estructura de la base de dades que defineix els objectes de la base de dades.[3]
En un sistema de base de dades Oracle, el terme "esquema" té una connotació lleugerament diferent.[4]
Requisits ideals per a la integració d'esquemes
[modifica]Els requisits que s'enumeren a continuació influeixen en l'estructura detallada dels esquemes que es produeixen. Algunes aplicacions no requeriran que es compleixin totes aquestes condicions, però aquests quatre requisits són els més ideals.
- Conservació de la superposició
- Cadascun dels elements superposats especificats a l'assignació d'entrada també es troba en una relació d'esquema de base de dades.
- Conservació ampliada de la superposició
- Els elements específics de la font que estan associats amb els elements superposats d'una font es passen a l'esquema de la base de dades.
- Normalització
- Les entitats i relacions independents de les dades font no s'han d'agrupar en la mateixa relació a l'esquema de la base de dades. En particular, els elements d'esquema específics de la font no s'han d'agrupar amb elements d'esquema superposats, si l'agrupació coubica entitats o relacions independents.
- Minimitat
- Si s'elimina algun element de l'esquema de la base de dades, l'esquema de la base de dades no és ideal.
Exemple d'integracions de dos esquemes
[modifica]Suposem que volem un esquema mediatitzat per integrar dues bases de dades de viatges, Go-travel i Ok-flight.
Go-travel
té dues relacions:
Go-flight(flight-number, time, meal(yes/no))
Go-price(flight-number, date, price)
Ok-flight
només té una relació:
Ok-flight(flight-number, date, time, price, nonstop(yes/no))
La informació superposada en els esquemes de Go-travel i Ok-flight es podria representar en un esquema mediat:
Flight(flight-number, date, time, price)
Referències
[modifica]- ↑ «Database Schemas» (en anglès americà), 26-03-2023. [Consulta: 25 febrer 2025].
- ↑ «DrawSQL - 🔥 Database schema diagrams» (en anglès). [Consulta: 25 febrer 2025].
- ↑ «What is a Database Schema? A Guide on the Types and Uses» (en anglès). [Consulta: 25 febrer 2025].
- ↑ LettucePilgrim. «Can someone explain what a database schema is?» (en anglès), 16-08-2023. [Consulta: 25 febrer 2025].