EJERCICIO SQL BIBLIOTECA



Documentos relacionados
Oracle Express y Toad for Oracle

Examen de las unidades 2 y 3 IES Celia Viñas (Almería) /2018. Nombre y apellidos: Nota:

MATERIAL SOBRE SENTENCIAS SQL

Diseñar la base de datos biblioteca Soluciones:

Guía N 3 Tema: Modelo Relacional

Unidad6. Diseño físico de datos

Instalacion de PostgreSQL en Ubuntu 8.4

Proyecto 1 BASE DE DATOS SQL Server y MySQL

Oracle Database y Oracle SQL Developer

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

Una empresa almacena la información de sus empleados en dos tablas llamadas "empleados" y "secciones". Eliminamos las tablas, si existen:

Proyecto 2 Base de Datos SQL Server y MySQL

MANUAL BÁSICO DEL LENGUAJE SQL

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

Tema 5. Lenguaje de Definición de Datos

SQL Server Definición de los índices

Solución Ejercicio Prac. 3b (Esquema).

Conceptos de Bases de Datos Relacionales Triggers

Implementación de la integridad de datos

SQL Sintaxis. Ejemplo de Alumno, Curso, Profesor. Esquemas de Alumno, Curso, Profesor. Andrés Moreno S.

SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS

BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000

Vistas (modificar datos de una tabla a través de vistas)

Modelo de base de datos única con múltiples geobases de datos. Modelo de múltiples bases de datos espaciales

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Introducción a SQL (DDL)

SQL Sintaxis. OpenOffice. Ejemplo de Alumno, Curso, Profesor. Ejemplo de Alumno, Curso, Profesor. Andrés Moreno S. Nombre. Apellido. RutAlumno.

Oracle Database y Oracle SQL Developer

T07 Opciones de integridad referencial

Tablas -SQL Curso Bases de Datos. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS

1.4 Creación del esquema de una Base de Datos

CLUB. Un club dicta cursos de distintos deportes. Almacena la información en varias tablas.

Integridad Referencial. Restricciones (constraints)

Introducción a phpmyadmin

Rastreo de finalización

Lenguaje SQL (2ª Parte) Definición de datos

Introducción a Transact-SQL

UNIVERSIDAD TÉCNICA DEL NORTE

GUIA DE PROCEDIMIENTOS Y FUNCIONES ALMACENADOS EN MYSQL

EJEMPLOS PRÁCTICOS SQL

GUÍA DE TRABAJO N 5 GRADO 11 Programación y Diseño de Articulación SENA Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Fundamentos de la programación

GUÍA DE TRABAJO N 7 GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 GUIA N 7 COMANDOS MYSQL II. CREAR UNA TABLA

1. DML. Insertar datos

El Modelo Relacional de Bases de Datos

SQL - DDL y consultas de actualización. José Muñoz Jimeno Febrero 2015

Ejercicios SQL - Definición de Datos - Solución

3- Uso de índices y relaciones de tablas

Diseño e Implementación SQL Server

Práctica A: Implementación de la integridad de datos

SQL: Lenguaje de Interrogación Estructurado

LABORATORIO 2. SQL SERVER - BASE DE DATOS SECRETARIA DE GOBIERNO

EJERCICIO TRABAJADORES.

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

Creación de una Base de datos

[ EDICION ESPECIAL] En el siguiente ejemplo se agrega un archivo de datos de 5 MB a la base de datos BD_Ejemplo01.

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

Formato para prácticas de laboratorio

Diseño de bases de datos

Guía N 2 Tema: Creación de tablas, campos, índices, restricciones, tipos de datos, alteración y eliminación de tablas y base de datos

Triggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Installing_elecworks_ES (Ind : M) 05/10/2017. elecworks. Guía de instalación

1. Primero abrimos el aplicativo pgadmin con el cual manejaremos la base de datos de Postgres.

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

1. Primero abrimos el aplicativo pgadmin con el cual manejaremos la base de datos de Postgres.

GBD Diseño físico de DDBB

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

- 1 - Mg. Abril Saire Peralta

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013

Integridad referencial en MySQL

El lenguaje SQL III: Creación de bases de datos y seguridad. Introducción

Diseño físico de bases de datos

Base de datos Oracle: Arquitectura Oracle. Arquitectura. Marzo Luis Vinuesa Martínez

Facultad de Informática UCM - Examen Parcial Convocatoria de Febrero Curso 2009/2010 Grupo A Bases de Datos y Sistemas de la Información SOLUCIÓN

Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas.

BASE DE DATOS ARTICULOS DE COMPUTACION.

Tema 2 Modelos de Base de Datos. Profesor Luis Gmo. Zúñiga Mendoza UMCA

Que son las Creative Commons Paloma Cerdà Palau

Fundamentos de la programación

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

MYSQL. Al pasarlo a tablas en el modelo relacional quedaría de la siguiente forma:

Video Club. Materia: Base de Datos. Curso: 3 A Turno Noche. Docente: Nicolás Bocalandro. Alumnos: Nicotra, Antonela

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Fundamentos de la programación

Contenido. Qué recursos puedo utilizar en Internet sin tener problemas con los derechos de autor?

2. Creación de tablas, campos, índices, relaciones, restricciones y tipos de datos.

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

Transcripción:

EJERCICIO SQL BIBLIOTECA 10 de septiembre 2014 Este ejercicio, de nivel básico, está pensado para iniciarse en la creación de bases de datos, tablas y las restricciones necesarias para garantizar la coherencia mediante la ejecución de consultas mediante lenguaje SQL. BASICO_001_BIBLIOTECA

1. Índice de contenido EJERCICIO SQL BIBLIOTECA 2014 1. Índice de contenido... 2 2. Enunciado y ejercicios propuestos... 2 2.1.1. Crear la base de datos Biblioteca.... 3 2.1.2. Crear la tabla libros, con sus restricciones a nivel de tabla.... 3 2.1.3. Crear la tabla usuarios, con sus restricciones a nivel de campo.... 3 2.1.4. Crear la tabla préstamos, con sus restricciones a nivel de tabla.... 3 2.1.5. Crear un script que cree la base de datos y las tablas en una sola consulta. Ejecutarla para comprobar que funciona.... 3 3. Soluciones... 4 3.1.1. Crear la base de datos Biblioteca.... 4 3.1.2. Crear la tabla libros, con sus restricciones a nivel de tabla.... 4 3.1.3. Crear la tabla usuarios, con sus restricciones a nivel de campo.... 4 3.1.4. Crear la tabla préstamos, con sus restricciones a nivel de tabla.... 5 3.1.5. Crear un script que cree la base de datos y las tablas en una sola consulta. Ejecutarla para comprobar que funciona.... 5 4. Sobre la licencia... Error! Marcador no definido. 2. Enunciado y ejercicios propuestos El Director de un colegio público va a crear una biblioteca para prestar libros a los alumnos del centro. Debido a que quiere tener una base de datos sencilla, el diseño aprobado por la Dirección consta solamente de tres tablas. La tabla Libros almacena la información básica de los libros, la tabla Usuarios guarda la información personal de los usuarios de la biblioteca y la tabla Préstamos almacena los datos relativos a los libros prestados. Los campos de cada tabla y sus restricciones son los siguientes: TABLA LIBROS NOMBRE DEL CAMPO TIPO DE CAMPO RESTRICCIONES codigolibro Int Clave primaria titulo Varchar (60) No nulo editorial Varchar (25) Nulo autor Varchar (40) No nulo genero Varchar (20) No nulo paisautor Varchar (20) Nulo numeropaginas Int No nulo. No permitir números negativos o 0 anoedicion Varchar (5) Nulo precio Money No nulo. No permitir números negativos o 0 2 de 7 Índice de contenido

TABLA USUARIOS NOMBRE DEL CAMPO TIPO DE CAMPO RESTRICCIONES codigousuario Int Clave primaria. Autonumérico nombre Varchar (15) No nulo. apellido1 Varchar (20) No nulo apellido2 Varchar (20) Nulo fechanacimiento Date No nulo dni Varchar (12) Nulo domicilio Varchar (50) No nulo población Varchar (30) Nulo provincia Varchar (20) Nulo TABLA PRÉSTAMOS NOMBRE DEL CAMPO TIPO DE CAMPO RESTRICCIONES numeropedido Int Autonumérico. Clave primaria librocodigo Int Obtiene datos de la tabla libros. No nulo usuariocodigo Int Obtiene los datos de la tabla usuarios. No nulo. fechaprestamo Datetime2 No nulo. Valor por defecto: fecha actual fechamaximadevolucion Datetime2 No nulo. Campo calculado. fechadevolucion Datetime2 No nulo. Sabiendo que: a) La biblioteca solo tiene un ejemplar de cada libro. b) Que el período de préstamo de un libro es de 15 días naturales. c) Que, tanto el archivo de registros como el de transacciones, tienen un tamaño inicial de 5 MB, crecen de MB en M y tienen un tamaño máximo de 15 MB. d) El colegio tiene alumnos de cero a dieciséis años de edad. usando consultas SQL se pide: 2.1.1. Crear la base de datos Biblioteca. 2.1.2. Crear la tabla libros, con sus restricciones a nivel de tabla. 2.1.3. Crear la tabla usuarios, con sus restricciones a nivel de campo. 2.1.4. Crear la tabla préstamos, con sus restricciones y relaciones a nivel de tabla y campo. 2.1.5. Crear un script que cree la base de datos y las tablas en una sola consulta. Ejecutarla para comprobar que funciona. 3 de 7 Enunciado y ejercicios propuestos

3. Soluciones 3.1.1. Crear la base de datos Biblioteca. /*Primero, creamos la base de datos, con un archivo principal y uno de registro de transaciones. Atención a la ruta absoluta de los archivos físicos!*/ CREATE DATABASE basico_001_biblioteca ON PRIMARY (NAME='basico-001-biblioteca', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.FORMACION\MSSQL\DATA\basico-001- biblioteca.mdf', log ON (NAME = 'basico-001-biblioteca_log', FILENAME ='C:\Program Files\Microsoft SQL Server\MSSQL12.FORMACION\MSSQL\DATA\basico-001- biblioteca.ldf', COLLATE modern_spanish_ci_as 3.1.2. Crear la tabla libros, con sus restricciones a nivel de tabla. /*Creación de la tabla "libros" con las restricciones a nivel de tabla. El campo AnoEdicion almacena solo el año de la edición del libro. Por eso está definido como varchar. El campo codigolibro es el campo único que identifica cada registro*/ --Recuerda que la sintaxis en "nombre_campo" "tipo_campo",-- CREATE TABLE libros (codigolibro INT, titulo VARCHAR(60) NOT NULL, editorial VARCHAR(25) NULL, autor VARCHAR(25) NOT NULL, genero VARCHAR (20) NOT NULL, paisautor VARCHAR(20) NULL, numeropaginas INT NOT NULL, anoedicion VARCHAR(5) NULL, precio MONEY NULL --Añadidas aquí, las restricciones se crean a nivel de tabla, no de campo-- --Para crear una clave primaria, definimos el campo-- CONSTRAINT PK_libros PRIMARY KEY (codigolibro), --Para crear una restricción de tipo check, tenemos que definir el campo y la expresión que tiene que cumplir el campo-- CONSTRAINT CK_libro_precio CHECK (precio > 0), CONSTRAINT CK_libro_pagina CHECK (numeropaginas >0)) 3.1.3. Crear la tabla usuarios, con sus restricciones a nivel de campo. CREATE TABLE usuarios (codigousuario INT PRIMARY KEY IDENTITY (1,1), nombre VARCHAR(15) NOT NULL, apellido1 VARCHAR(20) NOT NULL, apellido2 VARCHAR(20) NULL, dni VARCHAR(12) NULL, domicilio VARCHAR (50) NOT NULL, poblacion VARCHAR(30) NOT NULL, provincia VARCHAR(20) NULL, fechanacimiento DATE NOT NULL) 4 de 7 www.formacion.jugarenequipo.es Soluciones

3.1.4. Crear la tabla préstamos, con sus restricciones y relaciones a nivel de tabla y campo. CREATE TABLE prestamos (numeropedido INT IDENTITY (1,1), librocodigo INT, usuariocodigo INT, --Los valores por defecto, se definen especificando la condición que tiene que cumplir cada campo-- fechaprestamo DATETIME2 DEFAULT GETDATE(), fechamaximadevolucion DATETIME2 DEFAULT GETDATE()+15, fechadevolucion DATETIME2 NULL CONSTRAINT PK_prestamos PRIMARY KEY (numeropedido), CONSTRAINT FK_pre_lib FOREIGN KEY (librocodigo) REFERENCES libros (codigolibro) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_pre_usu FOREIGN KEY (usuariocodigo) REFERENCES usuarios (codigousuario) ON DELETE CASCADE ON UPDATE CASCADE) 3.1.5. Crear un script que cree la base de datos y las tablas en una sola consulta. Ejecutarla para comprobar que funciona. /*Primero, creamos la base de datos, con un archivo principal y uno de registro de transaciones. Atención a la ruta absoluta de los archivos físicos!*/ CREATE DATABASE basico_001_biblioteca ON PRIMARY (NAME='basico-001-biblioteca', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.FORMACION\MSSQL\DATA\basico-001- biblioteca.mdf', log ON (NAME = 'basico-001-biblioteca_log', FILENAME ='C:\Program Files\Microsoft SQL Server\MSSQL12.FORMACION\MSSQL\DATA\basico-001- biblioteca.ldf', COLLATE modern_spanish_ci_as /*Creación de la tabla "libros" con las restricciones a nivel de tabla. El campo AnoEdicion almacena solo el año de la edición del libro. Por eso está definido como VARCHAR. El campo códido libro es el campo único que identifica cada registro*/ --Recuerda que la sintaxis en "nombre_campo" "tipo_campo",-- CREATE TABLE libros (codigolibro INT, titulo VARCHAR(60) NOT NULL, editorial VARCHAR(25) NULL, autor VARCHAR(25) NOT NULL, genero VARCHAR (20) NOT NULL, paisautor VARCHAR(20) NULL, numeropaginas INT NOT NULL, anoedicion VARCHAR(5) NULL, precio MONEY NULL --Añadidas aquí, las restricciones se crean a nivel de tabla, no de campo-- --Para crear una clave primaria, definimos el campo-- CONSTRAINT PK_libros PRIMARY KEY (codigolibro), --Para crear una restricción de tipo check, tenemos que definir el campo y la expresión que tiene que cumplir el campo-- CONSTRAINT CK_libro_precio CHECK (precio > 0), CONSTRAINT CK_libro_pagina CHECK (numeropaginas >0)) 5 de 7 www.formacion.jugarenequipo.es Soluciones

/*Creación de la tabla "usuarios" con las restricciones a nivel de campo */ CREATE TABLE usuarios (codigousuario INT PRIMARY KEY IDENTITY (1,1), nombre VARCHAR(15) NOT NULL, apellido1 VARCHAR(20) NOT NULL, apellido2 VARCHAR(20) NULL, dni VARCHAR(12) NULL, domicilio VARCHAR (50) NOT NULL, poblacion VARCHAR(30) NOT NULL, provincia VARCHAR(20) NULL, fechanacimiento DATE NOT NULL) /*Creación de la tabla préstamos con claves externas a nivel de campo*/ CREATE TABLE prestamos (numeropedido INT IDENTITY (1,1), librocodigo INT, usuariocodigo INT, --Los valores por defecto, se definen especificando la condición que tiene que cumplir cada campo-- fechaprestamo DATETIME2 DEFAULT GETDATE(), fechamaximadevolucion DATETIME2 DEFAULT GETDATE()+15, fechadevolucion DATETIME2 NULL CONSTRAINT PK_prestamos PRIMARY KEY (numeropedido), CONSTRAINT FK_pre_lib FOREIGN KEY (librocodigo) REFERENCES libros (codigolibro) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_pre_usu FOREIGN KEY (usuariocodigo) REFERENCES usuarios (codigousuario) ON DELETE CASCADE ON UPDATE CASCADE) 6 de 7 www.formacion.jugarenequipo.es Soluciones

4. Sobre la licencia Este documento, como parte del sitio web www.formacion.jugarenequipo.es, está creado bajo licencia Creative Commons 4.0. Usted es libre: Compartir, distribuir, ejecutar y comunicar públicamente la obra. Hacer copias derivadas de esta obra. Bajo las condiciones siguientes: Licencia Creative Commons: Creative Commons es una corporación sin ánimo de lucro basada en la idea de que algunas personas pueden no querer ejercer todos los derechos de propiedad intelectual que les permite la ley. Creemos que hay una demanda no satisfecha de un modo seguro que permita decir al mundo la frase Algunos derechos reservados o incluso Sin derechos reservados. Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licencia hará falta reconocer la autoría. No Comercial (Non commercial): La explotación de la obra queda limitada a usos no comerciales. Compartir Igual (Share alike): La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la misma licencia al ser divulgadas. Puede acceder al texto completo de la licencia en este enlace. 7 de 7 www.formacion.jugarenequipo.es Sobre la licencia