E.F. Codd va proposar el Model relacional per modelar dades en forma de relacions o taules. Després de dissenyar el model conceptual de la Base de dades utilitzant Diagrama ER , hem de convertir el model conceptual en un model relacional que es pugui implementar mitjançant qualsevol RDBMS llenguatge com Oracle SQL, MySQL, etc. Així veurem què és el model relacional.
El model relacional utilitza una col·lecció de taules per representar tant les dades com les relacions entre aquestes dades. Cada taula té diverses columnes i cada columna té un nom únic. Les taules també es coneixen com a relacions. El model relacional és un exemple de model basat en registres. Els models basats en registres s'anomenen així perquè la base de dades està estructurada en registres de format fix de diversos tipus. Cada taula conté registres d'un tipus particular. Cada tipus de registre defineix un nombre fix de camps o atributs. Les columnes de la taula corresponen als atributs del tipus de registre. El model de dades relacional és el model de dades més utilitzat, i la gran majoria dels sistemes de bases de dades actuals es basen en el model relacional.
Què és el model relacional?
El model relacional representa com s'emmagatzemen les dades a les bases de dades relacionals. Una base de dades relacional consta d'una col·lecció de taules, a cadascuna de les quals se li assigna un nom únic. Considereu una relació STUDENT amb els atributs ROLL_NO, NAME, ADDRESS, PHONE i AGE que es mostren a la taula.
Taula Estudiant
| ROLL_NO | NOM | ADREÇA | TELÈFON | EDAT |
|---|---|---|---|---|
| 1 | RAM | DELHI | 9455123451 | 18 |
| 2 | RAMESH | GURGAON | 9652431543 | 18 |
| 3 | SUJIT | ROHTAK | 9156253131 | 20 |
| 4 | SURESH | DELHI | 18 |
miniaplicació d'applet
Terminologies importants
- Atribut: Els atributs són les propietats que defineixen una entitat. per exemple.; ROLL_NO , NOM, ADREÇA
- Esquema de relacions: Un esquema de relació defineix l'estructura de la relació i representa el nom de la relació amb els seus atributs. per exemple.; STUDENT (ROLL_NO, NAME, ADDRESS, PHONE i AGE) és l'esquema de relació per a STUDENT. Si un esquema té més d'una relació, s'anomena esquema relacional.
- Tuple: Cada fila de la relació es coneix com a tupla. La relació anterior conté 4 tuples, una de les quals es mostra com:
| 1 | RAM | DELHI | 9455123451 | 18 |
- Instància de relació: El conjunt de tuples d'una relació en una instància de temps particular s'anomena instància de relació. La taula 1 mostra la instància de relació d'ESTUDENT en un moment concret. Pot canviar sempre que hi hagi una inserció, una supressió o una actualització a la base de dades.
- Grau: El nombre d'atributs de la relació es coneix com el grau de la relació. El ESTUDIANT La relació definida anteriorment té el grau 5.
- Cardinalitat: El nombre de tuples en una relació es coneix com cardinalitat . El ESTUDIANT La relació definida anteriorment té cardinalitat 4.
- Columna: La columna representa el conjunt de valors d'un atribut concret. La columna ROLL_NO s'extreu de la relació ALUMNE.
| ROLL_NO |
|---|
| 1 |
| 2 |
| 3 |
| 4 10 ml és quant |
- Valors NULL: El valor que no es coneix o no està disponible s'anomena valor NULL. Es representa amb un espai en blanc. per exemple.; PHONE de STUDENT que té ROLL_NO 4 és NULL.
- Clau de relació: Aquestes són bàsicament les claus que s'utilitzen per identificar les files de manera única o també ajuden a identificar taules. Aquests són dels següents tipus.
- Clau primària
- Clau del candidat
- Super clau
- Clau estrangera
- Clau alternativa
- Clau composta
Restriccions en el model relacional
Mentre es dissenya el model relacional, definim algunes condicions que s'han de complir per a les dades presents a la base de dades s'anomenen restriccions. Aquestes restriccions es comproven abans de realitzar qualsevol operació (inserció, supressió i actualització) a la base de dades. Si hi ha una violació d'alguna de les restriccions, l'operació fallarà.
Restriccions de domini
Aquestes són restriccions a nivell d'atribut. Un atribut només pot prendre valors que es troben dins de l'interval del domini. per exemple.; Si s'aplica una restricció AGE>0 a la relació STUDENT, la inserció d'un valor negatiu d'EDAT provocarà un fracàs.
Integritat clau
Cada relació de la base de dades hauria de tenir almenys un conjunt d'atributs que defineixin una tupla de manera única. Aquest conjunt d'atributs s'anomena claus. per exemple.; ROLL_NO a STUDENT és clau. No hi ha dos alumnes que tinguin el mateix número de registre. Així, una clau té dues propietats:
- Hauria de ser únic per a totes les tuples.
- No pot tenir valors NULL.
Integritat referencial
Quan un atribut d'una relació només pot prendre valors d'un altre atribut de la mateixa relació o de qualsevol altra relació, s'anomena integritat referencial . Suposem que tenim 2 relacions
exemple de java hola món
Taula Estudiant
| ROLL_NO | NOM | ADREÇA | TELÈFON | EDAT | CODI DE SUCURSAL |
|---|---|---|---|---|---|
| 1 | RAM | DELHI | 9455123451 | 18 | CS |
| 2 | RAMESH | GURGAON | 9652431543 | 18 | CS |
| 3 | SUJIT | ROHTAK | 9156253131 | 20 | ECE |
| 4 | SURESH | DELHI | 18 | IT |
Sucursal de la Taula
| CODI DE SUCURSAL | BRANCH_NAME |
|---|---|
| CS | CIÈNCIES DE LA COMPUTACIÓ |
| IT | TECNOLOGIA DE LA INFORMACIÓ |
| ECE | ENGINYERIA ELECTRÒNICA I DE LA COMUNICACIÓ |
| CV | ENGINYERIA CIVIL |
BRANCH_CODE de STUDENT només pot prendre els valors presents a BRANCH_CODE de BRANCH, que s'anomena restricció d'integritat referencial. La relació que està fent referència a una altra relació s'anomena RELACIÓ REFERENCIAL (ALUMNE en aquest cas) i la relació a la qual es refereixen altres relacions s'anomena RELACIÓ REFERENCIADA (BRANCA en aquest cas).
Anomalies en el model relacional
An anomalia és una irregularitat o quelcom que es desvia de l'estat esperat o normal. A l'hora de dissenyar bases de dades, identifiquem tres tipus d'anomalies: Inserir, Actualitzar i Suprimir.
Anomalia d'inserció en la relació de referència
No podem inserir una fila a REFERENCING RELATION si el valor de l'atribut de referència no està present al valor de l'atribut referenciat. per exemple.; La inserció d'un estudiant amb BRANCH_CODE 'ME' a la relació STUDENT generarà un error perquè 'ME' no està present a BRANCH_CODE de BRANCH.
Anomalia de supressió/actualització en la relació de referència:
No podem suprimir ni actualitzar una fila de REFERENCED RELATION si el valor de REFERENCED ATRIBUTE s'utilitza en el valor de REFERENCED ATRIBUTE. per exemple; si intentem eliminar una tupla de BRANCH amb BRANCH_CODE 'CS', es produirà un error perquè BRANCH_CODE de STUDENT fa referència a 'CS', però si intentem eliminar la fila de BRANCH amb BRANCH_CODE CV, s'eliminarà. ja que el valor no s'ha utilitzat per referència a la relació. Es pot gestionar pel següent mètode:
A Eliminar cascada
Suprimirà les tuples de REFERENCING RELATION si el valor utilitzat per REFERENCING ATRIBUTE s'elimina de REFERENCED RELATION. per exemple.; Perquè, si suprimim una fila de BRANCH amb BRANCH_CODE ‘CS’, s’eliminaran les files en relació STUDENT amb BRANCH_CODE CS (ROLL_NO 1 i 2 en aquest cas).
A l'actualització en cascada
Actualitzarà l'ATRIBUT DE REFERÈNCIA a RELACIÓ DE REFERÈNCIA si el valor de l'atribut utilitzat per ATRIBUT DE REFERÈNCIA s'actualitza a RELACIÓ DE REFERÈNCIA. Per exemple, si actualitzem una fila de BRANCH amb BRANCH_CODE 'CS' a 'CSE', les files en relació STUDENT amb BRANCH_CODE CS (ROLL_NO 1 i 2 en aquest cas) s'actualitzaran amb BRANCH_CODE 'CSE'.
Super Claus
Qualsevol conjunt d'atributs que ens permeti identificar files úniques (tuples) en una relació determinada es coneix com a superclaus. D'aquestes súper claus, sempre podem triar un subconjunt adequat entre aquestes que es pot utilitzar com a clau primària. Aquestes claus es coneixen com a claus de candidat. Si hi ha una combinació de dos o més atributs que s'utilitzen com a clau primària, l'anomenem clau composta.
Regles Codd en el model relacional
Edgar F Codd va proposar el model de base de dades relacional on va establir regles. Ara es coneixen com a Regles de Codd. Perquè qualsevol base de dades sigui la perfecta, ha de seguir les regles.
no és igual a mysql
Per a més informació, consulteu Regles Codd en el model relacional .
Avantatges del model relacional
- Model senzill: El model relacional és senzill i fàcil d'utilitzar en comparació amb altres idiomes.
- Flexible: El model relacional és més flexible que qualsevol altre model relacional present.
- Segur: El model relacional és més segur que qualsevol altre model relacional.
- Exactitud de les dades: Les dades són més precises en el model de dades relacionals.
- Integritat de les dades: La integritat de les dades es manté en el model relacional.
- Les operacions es poden aplicar fàcilment: És millor realitzar operacions en el model relacional.
Inconvenients del model relacional
- El model de base de dades relacional no és molt bo per a bases de dades grans.
- De vegades, es fa difícil trobar la relació entre taules.
- A causa de la complexa estructura, el temps de resposta de les consultes és elevat.
Característiques del model relacional
- Les dades es representen en files i columnes anomenades relacions.
- Les dades s'emmagatzemen en taules que tenen relacions entre elles anomenades model relacional.
- El model relacional admet operacions com ara la definició de dades, la manipulació de dades i la gestió de transaccions.
- Cada columna té un nom diferent i representen atributs.
- Cada fila representa una única entitat.