La base de datos de piezas de Proveedores y es un ejemplo de base de datos relacional que se conoce ampliamente en la literatura [ citación necesaria ] y se describe en detalle en CJ Date 's Una introducción a la base de datos Sistemas , octava ed. [1] Es una base de datos simple que comprende tres tablas: Proveedor, Pieza y Envío, y se utiliza a menudo como un ejemplo mínimo de las interrelaciones que se encuentran en una base de datos.
- La relación con el proveedor [2] contiene información sobre los proveedores. El atributo SID identifica al proveedor, mientras que los otros atributos contienen cada uno una pieza de información sobre el proveedor.
- La relación Part contiene información sobre las partes. Asimismo, el atributo PID identifica la pieza, mientras que los otros atributos contienen información sobre la pieza.
- La relación Envío contiene información sobre envíos. Los atributos SID y PID identifican al proveedor del envío y la pieza enviada, respectivamente. El atributo restante indica cuántas piezas se enviaron.
- Las restricciones de referencia conocidas como claves externas garantizan que estos atributos solo puedan contener valores que también se encuentran en los atributos correspondientes en las relaciones Proveedor y Piezas.
- Se supone que solo existe un envío para cada emparejamiento de proveedor / pieza, lo que no es realista para escenarios del mundo real. Esto se simplifica demasiado intencionalmente con fines pedagógicos, al igual que toda la base de datos.
SQL
El siguiente esquema SQL es una posible expresión de la base de datos de proveedores y repuestos.
CREATE TABLE Proveedor ( SID int clave principal , SName varchar ( 10 ) NOT NULL , Status int NOT NULL , City varchar ( 10 ) NOT NULL ) CREATE TABLE Part ( PID int Primary key , PName varchar ( 10 ) NOT NULL , Color int NOT NULL , Weight real NOT NULL , City varchar ( 10 ) NOT NULL )CREAR TABLA Envío ( SID int NOT NULL FOREIGN KEY REFERENCES Proveedor ( SID ), PID int NOT NULL FOREIGN KEY REFERENCES Part ( PID ), Qty int NOT NULL , PRIMARY KEY ( SID , PID ) )
Notas:
- Los atributos de ID son números enteros simples, pero podrían ser (entre otras cosas) UUID o un tipo de identificador definido por el sistema que contiene valores generados por el sistema.
- La elección de VARCHAR (10) es arbitraria y sería demasiado pequeña para su uso en el mundo real.
- La aplicación de la restricción NOT NULL a todos los atributos es una decisión de diseño basada en la opinión de que se deben evitar los NULL . No es, estrictamente hablando, un requisito del esquema.