Diseno Fisico de Base de Datos - Easy Drive School

Post on 08-Jul-2015

2.380 views 1 download

description

Resolución del Caso de Estudio Por: Argenis Riofrio

Transcript of Diseno Fisico de Base de Datos - Easy Drive School

ESCUELA DE CIENCIAS DE LA COMPUTACION

DISEÑO FÍSICO DE BASE DE DATOS

RELACIONALESRELACIONALES

CASO DE ESTUDIO

Easy Drive School of Motoring

Argenis Riofrío

• MODELO RELACIONAL:

– En el proceso del modelado anterior obtuvimos como salida un modelo relacional que nos servirá como punto de partida para comenzar inmediatamente con el modelo físico ya que sin

Argenis Riofrío

inmediatamente con el modelo físico ya que sin este se nos hará difícil y casi imposible el desarrollo del modelo físico.

– Dicho modelo relacional se lo mostrará a continuación.

• Una vez que tenemos el modelo relacional el primer paso que realizamos el Traducir el

modelo lógico de datos al SGBD seleccionado.

• El objetivo principal de esto es generar un

Argenis Riofrío

• El objetivo principal de esto es generar un esquema de base de datos relacional que se pueda implementar a un SGBD.

• Es te proceso tiene varios paso dentro del mismo que son:

• DISEÑAR LAS RELACIONES BASE

– Lo que queremos hacer con esto es decir cómo

Argenis Riofrío

– Lo que queremos hacer con esto es decir cómo representar las relaciones base identificadas en el modelo lógico de los datos dentro del SGBD seleccionado.

1. DISEÑO DE LAS RELACIONES

Argenis Riofrío

BASE

DBDL PARA LA RELACIÓN SUCURSAL

Domain Sucursal_Id: entero, de rango de 1 - 50

Domain Sucursal_Edif_No: entero, en el rango 1 - 99

Domain Sucursal_Telf: cadena de caracteres de longitud variable, longitud 15

Argenis Riofrío

Domain Sucursal_Telf: cadena de caracteres de longitud variable, longitud 15

Domain Sucursal_Fax: cadena de caracteres de longitud variable, longitud 15

Domain Sucursal_Direc: cadena de caracteres de longitud variable, longitud 30

Domain Sucursal_Ciudad cadena de caracteres de longitud variable, longitud 15

Sucursal_Id: Identificación de sucursal NOT NULL

Sucursal_Edif_No: Número de edificio NOT NULL

SUCURSAL

Argenis Riofrío

Sucursal_Telf: Teléfono de la sucursal NOT NULL

Sucursal_Fax: Fax de la sucursal NULL

Sucursal_Direc: Dirección de la sucursal NOT NULL

Sucursal_Ciudad Ciudad de la sucursal NOT NULL

DBDL PARA LA RELACIÓN CLIENTE

Domain Cliente_Id: entero, de rango de 1 - 5000

Domain Cliente_Cedula: cadena de caracteres de longitud variable, longitud 10

Argenis Riofrío

Domain Cliente_Nombres: cadena de caracteres de longitud variable, longitud 25

Domain Cliente_Apellidos: cadena de caracteres de longitud variable, longitud 25

Domain Cliente_Direc: cadena de caracteres de longitud variable, longitud 30

Domain Cliente_Ciudad cadena de caracteres de longitud variable, longitud 15

CLIENTECliente_Id: Identificación de cliente NOT NULL

Cliente_Cedula: Cedula del cliente (ident. secundario) NOT NULL

Cliente_Nombres: Nombres del cliente NOT NULL

Argenis Riofrío

Cliente_Nombres: Nombres del cliente NOT NULL

Cliente_Apellidos: Apellidos del cliente NULL

Cliente_Direc: Dirección del cliente NULL

Cliente_Ciudad Ciudad de residencia del cliente NULL

• Este mismo proceso se va a seguir para todas las relaciones, lo que nos falta de agregar aquí son las restricciones que se presente, también debemos identificar claves primarias (PK), foráneas (FK), y alternativas si el SGBD así lo

Argenis Riofrío

foráneas (FK), y alternativas si el SGBD así lo permitiera.

• Esto se ve a continuación solo para el caso de la relación notas mostrada en el diagrama ER.

Notas(

IdCliente IdentificadorCliente NOT NULL,

IdStaff IdentificadorStaff NOT NULL,

IdCoche IdentificadorCoche NOT NULL,

IdPeriodo IdentificadorCoche NOT NULL,

Argenis Riofrío

IdPeriodo IdentificadorCoche NOT NULL,

ExTeorico ExamenTeorico NULL,

ExPráctico ExamenTeorico NULL,

Resultado Resultado NOT NULL DEFAULT “I”,

Asistencias Asistencias NOT NULL DEFAULT 0,

NroRepeticiones NumeroRepeticiones NOT NULL DEFAULT 0,

PRIMARY KEY (IdCliente, IdStaff, IdCoche, IdPeriodo),

FOREING KEY (IdStaff) REFERENCES Staff(IdStaff),

FOREING KEY (IdCoche) REFERENCES

Coche(IdCoche),

FOREING KEY (IdPeriodo) REFERENCES

Argenis Riofrío

FOREING KEY (IdPeriodo) REFERENCES

Periodo(IdPeriodo)

);

SCRIPTS

Argenis Riofrío

SCRIPTS• En este caso solo colocaremos algunos

referentes a las siguientes tablas

• USE [BaseDeDatos_Pruebas]• GO

• SET ANSI_NULLS ON• GO• SET QUOTED_IDENTIFIER ON• GO• CREATE TABLE [dbo].[Sucursal](

Argenis Riofrío

• CREATE TABLE [dbo].[Sucursal](• [Sucursal_Id] [int] NULL,• [Sucursal_Edif_No] [int] NULL,• [Sucursal_Telf] [nvarchar](15) COLLATE Latin1_General_BIN NOT NULL,• [Sucursal_Fax] [nvarchar](15) COLLATE Latin1_General_BIN NOT NULL,• [Sucursal_Direc] [nvarchar](30) COLLATE Latin1_General_BIN NOT NULL,• [Sucursal_Ciudad] [nvarchar](15) COLLATE Latin1_General_BIN NOT NULL• ) ON [PRIMARY]

PRIMARY KEY (sucursalNo),FOREIGN KEY (idEmpleado) REFERENCES

Empleado(IdEmpleado) ON UPDATE CASCADE

ON DELETE NO ACTION );

Argenis Riofrío

ON DELETE NO ACTION );