O termo de base de datos "relacional" ou "relación" describe a forma en que os datos nas táboas están conectados.
Os recén chegados ao mundo das bases de datos adoitan ter dificultade para ver a diferenza entre unha base de datos e unha folla de cálculo. Eles ven táboas de datos e recoñecen que as bases de datos permítenlle organizar e consultar datos de maneiras novas, pero non entenden o significado das relacións entre datos que outorgan a tecnoloxía de base de datos relacional.
As relacións permítenlle describir as conexións entre táboas de bases de datos de forma potente. Estas relacións poden ser aproveitadas para realizar consultas poderosas de mesa cruzada, coñecidas como unións.
Tipos de relación da base de datos
Existen tres tipos diferentes de relacións de base de datos, cada un nomeado segundo o número de filas de táboa que poden estar implicadas na relación. Cada un destes tres tipos de relación existe entre dúas táboas.
- As relacións individuais prodúcense cando cada entrada na primeira táboa ten unha, e só unha, contraparte na segunda táboa. As relacións individuais raramente se usan porque moitas veces é máis eficiente simplemente poñer toda a información nunha soa táboa. Algúns deseñadores de bases de datos aproveitan esta relación creando táboas que conteñen un subconxunto de datos dunha outra táboa.
- As relacións individuais son o tipo máis común de relación de base de datos. Ocorren cando cada rexistro da Táboa A corresponde a un ou máis rexistros da Táboa B, pero cada rexistro da Táboa B corresponde a un só rexistro da Táboa A. Por exemplo, a relación entre a táboa de profesores ea táboa de estudantes nunha escola primaria A base de datos probablemente sexa unha relación de un a moitos, porque cada alumno ten só un profesor, pero cada profesor ten varios alumnos. Este deseño dun só para moitos axuda a eliminar datos duplicados.
- Moitas relacións son moitas cando cada rexistro da Táboa A corresponde a un ou máis rexistros da Táboa B e cada rexistro da Táboa B corresponde a un ou máis rexistros da táboa A. Por exemplo, a relación entre un profesor e un curso A táboa probablemente sexa de moitos a moitos porque cada profesor pode instruír máis dun curso e cada curso pode ter máis dun instrutor.
Relacións de auto-referencia: un caso especial
As relacións de autoreferencia ocorren cando hai só unha táboa involucrada. Un exemplo común é unha táboa de empregados que contén información sobre o supervisor de cada empregado. Cada supervisor tamén é un empregado e ten o seu propio supervisor. Neste caso, existe unha relación de auto-referencia entre un e moitos, xa que cada empregado ten un supervisor, pero cada supervisor pode ter máis dun empregado.
Creación de relacións con chaves estranxeiras
Crea relacións entre táboas especificando unha chave estranxeira . Esta chave dille á base de datos relacional como se relacionan as táboas. En moitos casos, unha columna na táboa A contén claves primarias ás que se fai referencia na táboa B.
Considere de novo o exemplo das táboas de Profesores e Estudantes. A táboa Docentes contén só unha ID, un nome e unha columna de curso:
InstrutorID | Teacher_Name | Curso |
---|---|---|
001 | John Doe | Inglés |
002 | Jane Schmoe | Matemáticas |
A táboa Estudantes inclúe unha ID, nome e unha columna de chave estranxeira:
StudentID | Student_Name | Profesor_FK |
---|---|---|
0200 | Lowell Smith | 001 |
0201 | Brian Short | 001 |
0202 | Corky Mendez | 002 |
0203 | Monica Jones | 001 |
A columna Teacher_FK na táboa Student fai referencia ao valor da chave primaria dun instrutor na táboa Teachers.
Con frecuencia, os deseñadores de bases de datos usan "PK" ou "FK" no nome da columna para identificar facilmente unha clave primaria ou unha chave de chave estranxeira.
Teña en conta que estas dúas táboas ilustran unha relación de un a moitos entre os profesores e os alumnos.
Relacións e integridade referencial
Unha vez que engade unha chave estranxeira a unha táboa, pode crear unha restrición de base de datos que reforza a integridade referencial entre as dúas táboas. Isto asegura que as relacións entre táboas sexan consistentes. Cando unha táboa ten unha clave externa noutra táboa, o concepto de integridade referencial afirma que calquera valor de clave externa na táboa B debe referirse a un rexistro existente na táboa A.
Implementación de relacións
Dependendo da túa base de datos, implementas relacións entre táboas de maneira diferente. Microsoft Access proporciona un asistente que facilmente permítelle vincular táboas e tamén impoñer a integridade referencial.
Se está escribindo SQL directamente, primeiro crearía os profesores da táboa, declarando que a columna ID era a chave primaria:
CREAR TABLE Profesores (
Instructor INT INT AUTO_INCREMENT PRIMARY KEY,
Teacher_Name VARCHAR (100),
Curso VARCHAR (100)
);
Cando creas a táboa de estudantes, declaras que a columna Teacher_FK é unha chave estranxeira que fai referencia á columna de instrutorID na táboa dos profesores:
CREATE TABLE Estudantes (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
CLAVE EXTERIOR (Teacher_FK) REFERENCIAS Profesores (InstructorID))
);
Usar relacións para unir táboas
Unha vez que creou unha ou máis relacións na súa base de datos, pode aproveitar a súa enerxía empregando consultas SQL JOIN para combinar información de varias táboas. O tipo máis común de unirse é un SQL INNER JOIN ou unha simple combinación. Este tipo de combinación devolve todos os rexistros que cumpren a condición de unir de varias táboas. Por exemplo, esta condición JOIN devolverá Student_Name, Teacher_Name e Course onde a chave estranxeira na táboa Students coincide coa clave primaria na táboa Teachers:
SELECCIONAR Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
FROM Students
INNER JOIN Teachers
ON Students.Teacher_FK = Teachers.InstructorID;
Esta afirmación produce unha táboa coma esta:
Táboa devolto da Declaración de unión de SQL
Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica Jones John DoeEnglish