Introducció a les relacions amb bases de dades

Taula de continguts:

Introducció a les relacions amb bases de dades
Introducció a les relacions amb bases de dades
Anonim

Els termes relacional i relació de la base de dades descriuen la manera com es connecten les dades de les taules. Una base de dades relacional consta d'una sèrie de dues o més taules enllaçades per una clau específica. Una base de dades relacional difereix de les bases de dades no estructurades, que són habituals en iniciatives de big data. Les bases de dades relacionals solen requerir regles estrictes sobre com es defineixen les taules i què constitueix una relació vàlida entre taules.

Image
Image

Tipus de relacions amb bases de dades

Les relacions us permeten descriure les connexions entre taules de bases de dades de maneres potents. Aquestes relacions es poden aprofitar per realitzar consultes potents entre taules, conegudes com a JOIN.

Hi ha tres tipus de relacions de bases de dades, cadascuna s'anomena segons el nombre de files de la taula implicades en la relació. Cadascun d'aquests tres tipus de relacions existeix entre dues taules.

  • Les relacions d'un a un es produeixen quan cada entrada de la primera taula només té una contrapartida a la segona. Les relacions d'un a un s'utilitzen poques vegades perquè sovint és més eficient posar tota la informació en una única taula. Alguns dissenyadors de bases de dades s'aprofiten d'aquesta relació creant taules que contenen un subconjunt de dades d'una altra taula.
  • Les relacions d'un a molts són el tipus de relació de base de dades més comú. Es produeixen quan cada registre de la taula A correspon a un o més registres de la taula B, però cada registre de la taula B només correspon a un registre de la taula A. Per exemple, la relació entre una taula de professors i una taula d'alumnes en una escola primària La base de dades probablement seria una relació d'un a molts perquè cada alumne només té un professor, però cada professor té diversos estudiants. Aquest disseny d'un a molts ajuda a eliminar les dades duplicades.
  • Les relacions de molts a molts es produeixen quan cada registre de la taula A correspon a un o més registres de la taula B i cada registre de la taula B correspon a un o més registres a la taula A. Per exemple, la relació entre una taula de professors i una taula de cursos probablement seria de molts a molts perquè cada professor pot impartir més d'un curs i cada curs pot tenir més d'un instructor.

Conclusió

Les relacions d'auto-referència es produeixen quan només hi ha una taula implicada. Un exemple comú és una taula d'empleats que conté informació sobre el supervisor de cada empleat. Cada supervisor també és un empleat i té un supervisor. En aquest cas, hi ha una relació d'auto-referència d'un a molts, ja que cada empleat té un supervisor, però cada supervisor pot tenir més d'un empleat.

Creació de relacions amb claus externes

Creeu relacions entre taules especificant una clau estrangera. Aquesta clau indica a la base de dades relacional com es relacionen les taules. En molts casos, una columna de la taula A conté claus primàries a les quals es fa referència a la taula B.

Considereu l'exemple de les taules de professors i alumnes. La taula de professors conté un identificador, un nom i una columna de curs:

InstructorID Nom_del_professor Curs
001 John Doe Anglès
002 Jane Schmoe Matemàtiques

La taula Estudiants inclou un identificador, un nom i una columna de clau estrangera:

ID de l'estudiant Nom_de_l'alumne Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

La columna Teacher_FK de la taula Estudiants fa referència al valor de clau principal d'un instructor a la taula Professors. Sovint, els dissenyadors de bases de dades utilitzen PK o FK al nom de la columna per identificar una clau primària o una columna de clau estrangera.

Aquestes dues taules il·lustren una relació d'un a molts entre els professors i els estudiants.

Relacions i integritat referencial

Després d'afegir una clau estrangera a una taula, creeu una restricció de base de dades que imposa la integritat referencial entre les dues taules. Aquest pas garanteix que les relacions entre taules siguin coherents. Quan una taula té una clau estrangera per a una altra taula, la integritat referencial requereix que qualsevol valor de clau estrangera de la taula B faci referència a un registre existent a la taula A.

Implementació de relacions

Depenent de la vostra base de dades, implementareu les relacions entre taules de diferents maneres. Microsoft Access ofereix un assistent que us permet enllaçar taules i també fer complir la integritat referencial.

Si esteu escrivint SQL directament, primer creeu la taula Professors, declarant una columna ID com a clau primària:

CREA LA TAULA Professors (InstructorID INT AUTO_INCREMENT CLAU PRIMÀRIA, Teacher_Name VARCHAR(100), Curs VARCHAR(100));

Quan creeu la taula Estudiants, declareu que la columna Teacher_FK és una clau estrangera que fa referència a la columna InstructorID de la taula Professors:

CREA LA TAULA Alumnes (StudentID INT AUTO_INCREMENT CLAU PRIMÀRIA, Student_Name VARCHAR(100), Teacher_FK INT, ForEIGN KEY (Teacher_FK) REFERÈNCIES Professors)(Instructor));

Ús de les relacions per unir-se a taules

Després de crear una o més relacions a la vostra base de dades, aprofiteu el seu poder mitjançant consultes SQL JOIN per combinar informació de diverses taules. El tipus d'unió més comú és un SQL INNER JOIN, que és una unió simple. Aquest tipus d'unió retorna tots els registres que compleixen la condició d'unió d'una o més taules.

Per exemple, aquesta condició JOIN retorna Student_Name, Teacher_Name i Course, on la clau estrangera de la taula Students coincideix amb la clau primària de la taula Teachers:

SELECCIONA Students. Student_Name, Teachers. Teacher_Name, Teachers. Curs

FROM Students

INNER JOIN TeachersON Students. Teacher_FK=Teachers. InstructorID;

Aquesta declaració produeix una taula com aquesta:

Nom_estudiant Nom_del_professor Curs
Lowell Smith John Doe Anglès
Brian Short John Doe Anglès
Corky Mendez Jane Schmoe Matemàtiques
Monica Jones John Doe Anglès

Recomanat: