Diseño físico de bases de datos

Documentos relacionados
MANUAL BÁSICO DE MYSQL

Existen muchos tipos de base de daos en función del modo en que almacenan y acceden a la información que almacenan.

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

M. C. Gustavo Alfonso Gutiérrez Carreón

Restricciones (constraints) FOREIGN KEY

PHP. Tipos de campo en MySql char(longitud): Cualquier carácter. El campo tendrá siempre la misma longitud. Máximo de 255 caracteres.

Modulo I: Introducción Gestores de Bases De Datos

Curso de MySQL y Java

Base de Datos Práctica 1.

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DDL. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Acceso a bases de datos MySQL con PHP

MANUAL BÁSICO DE MySQL

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

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

EL ENTORNO DE TRABAJO SQL ORACLE

GESTORES GESTORES DE BASES DE DATOS

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

Gestión de la Información Práctica 1

mysql Departamento de Lenguajes y Computación Universidad de Almería mysql Contenidos

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción:

Instalación y Configuración de MySQL

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

Integridad Referencial. Restricciones (constraints)

`ALTER TABLE' cambia la estructura de una tabla ya existente.

Escuela : INGENIERIA INFORMATICA Y DE SISTEMAS. Docente : ING. FREDY RIVERA MONTERO

Grupo Kybele, Pág. 1

SQL SQL. Índice. Componentes. Objetivos

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Tema 3 Modelo relacional

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

Oracle Express y Toad for Oracle

Temario. Índices simples Árboles B Hashing

Desarrollo de sitios web con PHP y MySQL

Objetivos y Temario CURSO MySQL 5

MySQL. Autor: Jorge Sánchez ( año 2004

Tema: MAPEO OBJETO RELACIONAL (ORM) - ADODB

RESUMEN DEL LENGUAJE SQL

SQL Los fundamentos del lenguaje

Administrar MySQL Server con MySQL Workbench, crear usuarios, crear bases de datos, crear tablas

Haga clic para PostgreS cambiar el estilo

BASE DE DATOS ARTICULOS DE COMPUTACION.

TEMA 2. INTRODUCCIÓN A MYSQL

PHP Y BASES DE DATOS. Introducción a SQL

Unidad II: Lenguaje de definición de datos(ddl) 2.1 Creación del esquema de la base de datos

T12 Vistas y tablas temporales

Bases de Datos: Structured Query Language (SQL)

Oracle Básico PL/SQL

Tutorial Sencillo Yii Framework

TEMA 22: LENGUAJES DE MANIPULACIÓN Y DEFINICIÓN DE DATOS.

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

EJERCICIO SQL CREACIÓN Y CONSULTAS EN UNA BASE DE DATOS BANCARIA. Pág. 1 de 18

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 27 28, SQL básico. Carlos Rodrigo Blanco LAEFF INTA

Módulo 7. Administración de MySQL

FIREBIRD: LENGUAJE DE DEFINICIÓN DE DATOS

Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:

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

SQL. Orígenes y Evolución

UNIDAD 3-2ª PARTE: INTEGRIDAD, NORMALIZACIÓN Y OPTIMIZACIÓN DE BASES RELACIONALES!

6- MySQL y phpmyadmin

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios

1. Manejadores de bases de datos 1.1 Bases de datos

2- Creación de tablas y manejos de datos.

Introducción a las bases de datos.

BASES DE DATOS AVANZADAS Transacciones en MYSQL

Tema 33. El lenguaje SQL

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Structured Query Language. Práctica

Taller de Programación II J2EE

Instalación de MySQL 5.1 en Windows

Crear BD en. Isis Bonet Cruz, PhD

INSTITUTO POLITÉCNICO NACIONAL. ESCUELA SUPERIOR DE CÓMPUTO. WEB II. MySQL. Que el alumno aprenda a usar el servidor de base de datos MySql.

Datos del Profesor: Ing. Jesús Vílchez Sandoval CIP móvil: (51)99 407*1449 / (51)9

CREATE TABLE april SELECT * FROM sales WHERE MONTH(p_date) = 'APRIL' creates new table called 'april' from sales using results of SELECT query

Tablas y Campos Nuevos

SQL básico. SQL básico 1. Contenido

Formas de llevar a cabo un backup de una base de datos MySQL

Diseñar la base de datos biblioteca Soluciones:

Máster Experto en Base de Datos + Prácticas en Gestión de Bases de Datos

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

SERVICIO NACIONAL DE APRENDIZAJE SENA

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas.

LENGUAJE SQL. Bárbula, Febrero de Historia y Definición

Guía teórica de Postgres

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

BASE DE DATOS ARTICULOS DE COMPUTACION.

Oracle Database: Introducción a SQL

Bases de datos y software libre. MySQL básico

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL (2)

EJEMPLOS PRÁCTICOS SQL

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

ÍNDICE INTRODUCCIÓN...17

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

Programación Procedural de Aplicaciones Web de baja complejidad

EMPEZANDO CON MySql. 1. Introducción DAI. DAL4GHC.

Transcripción:

Unidad de Trabajo 3 Diseño físico de bases de datos

Interfaz gráfica de comandos PhpMyAdmin de MySQL MySQL dispone de un interfaz basada en páginas web llamada PhpMyAdmin. Permite administrar las bases de datos de un servidor. Dispone de opciones para realizar prácticamente cualquier opción que se pueda realizar vía SQL.

PhpMyAdmin de MySQL Instalación de MySQL y phpmyadmin Acceder a la página www.bitnami.org Pulsamos sobre el botón Download Now. Pulsamos sobre el botón WAMPStack. Pulsamos sobre WAMPStack 1.2.3 Windows.

Intérpretes de comandos de los SGBD Intérprete de comandos Es una aplicación cliente cuya única misión es enviar comandos al SGBD y mostrar los resultados devueltos por el SGBD en pantalla. Mysql Sqlplus Db2

MySQL: El cliente de MySQL-Server mysql [options] [database] options: Comando mysql help Visualiza la ayuda { p password}[=frase] Password con la que se conecta { P port}[=numero] Puerto TCPIP remoto al que se conecta { h host}[=numero] Nombre Host o IP al que se conecta { u user}[=usuario] Usuario con el que se conecta { s socket}[=nombre_fich] Fichero socket con el que se conecta

MySQL: El cliente de MySQL-Server Comando mysql Ejemplos #conexión sin usuario y password (se conecta como anónimo y sin password) mysql #conexión con usuario y password (se conecta como root y su password ) mysql u root p Enter password: ********* #conexión con usuario y password en claro a la base de datos jardinería mysql u root ppassworddelusuario jardinería #conexión con usuario y password en claro a la base de datos jardinería # del host 192.168.3.100 mysql u root ppassworddelusuario h 192.168.3.100 jardinería #conexión con usuario y password en claro a la base de datos jardinería # del host 192.168.3.100 con puerto 15300 mysql u root ppassworddelusuario h 192.168.3.100 jardinería P 15300

MySQL: El cliente de MySQL-Server Ejecución de consultas en MySQL Para ejecutar una consulta, tan sólo es necesario arrancar el cliente mysql y conectarse a una base de datos del gestor. A continuación, escribir en la consola el comando SQL que se desea ejecutar y se obtienen los resultados. #selecciona la versión del gestor y la fecha actual mysql> select versiono, current_date(); + + + version() current_date() + + + 5.0.75 0ubunt 2009 8 20 + + + 1 row in set (0.00 sec)

MySQL: El cliente de MySQL-Server Ejecución de consultas en MySQL Otra forma de ejecutar comandos SQL es almacenarlos en un fichero de texto y mandarlo a ejecución mediante el comando source. #ejecución del script de creación crear_bbdd_startrek.sql mysql> source /home/ivan/crear_bbdd_startrek.sql también es posible ejecutar los comandos de un fichero de texto desde la shell: #ejecucion en modo batch ~$ mysql u root ppasswdusuario < crear_bbdd_startrek.sql #ejecucion en modo batch almacenando resultados ~$ mysql u root ppasswdusuario < crear_bbdd_startrek.sql > resultado

El sublenguaje de SQL que permite la definición de datos es el DDL (Data Definition Language). Las funciones de este sublenguaje son: * Crear tablas, índices y otros objetos de la base de datos (como vistas, sinónimos, etc.) * Definir las estructuras físicas donde se almacenarán los objetos de las bases de datos (espacios de tablas (tablespaces), ficheros de datos (datafiles), etc.) Starktrekfans v1.0

DDL tiene 3 instrucciones básicas CREATE tipo_objeto Nombre Definición. DROP tipo_objeto Nombre. ALTER tipo_objeto Nombre Modificación.

Creación de la base de datos CREATE {DATABASE SCHEMA} [IF NOT EXISTS] nombre.db [especificación_create [, especificación_create]...] especificación_create: [DEFAULT] CHARACTER SET juego_caracteres, [DEFAULT] COLLATE nombre_colación Por ejemplo, para crear la base de datos Startrek, en MySQL, habrá que teclear, en la consola de comandos, la instrucción: CREATE DATABASE Startrek CHARACTER SET Latin1 COLLATE latin1_spanish_ci; Nota. Todas las sentencias mysql deben terminar en un carácter punto y coma (;)

Utilizar la base de datos Para usarla se utiliza el comando USE db_name. Por ejemplo, para empezar a manipular la base de datos Startrek, habrá que ejecutar el comando USE Startrek; Otro comando muy útil para ver cuántas bases de datos está controlando el gestor es el comando SHOW DATABASES;

Actividad: Ejecuta los siguientes comandos en la máquina virtual Ubuntu para crear una base de datos y una tabla: mysql> CREATE DATABASE Veterinario; mysql> USE Veterinario; mysql> CREATE TABLE Mascotas ( Nombre VARCHAR(1O), FechaNacim DATE, Amo VARCHAR(40) ); A continuación, prueba a crear una tabla llamada Vacunas, con una fecha y una hora para cada mascota.

Modificación de la base de datos El comando ALTER DATABASE permite cambiar las características de funcionamiento de una base de datos. Por ejemplo, en MySQL, tan sólo se puede cambiar el juego de caracteres y su colación: #cambia la colación de una base de datos ALTER DATABASE Startrek COLLATE latin1_spanish_ci;

Borrado de la base de datos El comando DROP DATABASE es el utilizado para eliminar bases de datos. En MySQL, el comando se acompaña del nombre de la base de datos a eliminar: >mysql -u root -p drop database Proveedores;

Creación de tablas CREATE [TEMPORARY] TABLE [esquema.]nombre_tabla [(definición_create,...)] [opciones_tabla] definición_create: definición_columna [CONSTRAINT [símbolo]] PRIMARY KEY (nombre_columna,...) [CONSTRAINT [símbolo]] FOREIGN KEY (nombre_columna,...) [definición_referencia] definición_columna: nombre.columna tipo_datos [NOT NULL NULL][DEFAULT valor] [UNIQUE [KEY] [PRIMARY] KEY] [definición_referencia] definición_referencia: REFERENCES nombre_tabla [(nombre_columna,...)] [ON DELETE {CASCADE SET NULL NO ACTION} ] [ON UPDATE {CASCADE SET NULL NO ACTION} ]

Creación de tablas. Restricciones. create table clientes( dni varchar(9) PRIMARY KEY, nombre varchar(50), dirección varchar(60) ); create table mascotas( código integer PRIMARY KEY, nombre varchar(50), raza varchar(50), cliente varcharo) REFERENCES clientes (dni) ); create table mascotas( código integer PRIMARY KEY, nombre varchar(50), raza varchar(50), cliente varchar(9) REFERENCES clientes(dni) ON DELETE CASCADE ON UPDATE SET NULL );

Creación de tablas. Restricciones. [CONSTRAINT [símbolo]] PRIMARY KEY (nombre.columna,...) [CONSTRAINT [símbolo]] FOREIGN KEY (nombre.columna,...) [definición_referencia] #primera forma nivel de columna create table vehiculo( matricula varchar(7) primary key, marca varchar(20), modelo varchar(20), precio numeric(7,2) ); #segunda forma nivel de tabla create table vehiculoc matricula varchar(7), marca varchar(20), modelo varchar(20), precio numeric(7,2), primary key (matricula) );

Creación de tablas. Restricciones. [CONSTRAINT [símbolo]] FOREIGN KEY (nombre.columna,...) [definición_referencia] create table mascotas( código integer PRIMARY KEY, nombre varchar(50), raza varchar(50), cliente varchar(9), FOREIGN KEY (cliente) references clientes(dni) );

Creación de tablas. Ejercicios. Actividad: Conéctate a MySQL y prueba a ejecutar los comandos CREATE TABLE anteriores Para terminar, cada gestor de base de datos efectúa sus propias modificaciones al formato de la sintaxis create table. La cláusula opciones-tabla permite especificar las peculiaridades de cada gestor con respecto al almacenamiento en soporte físico de sus tablas. Además, cada gestor incorpora diversas características, por ejemplo, Oracle y DB2 implementan tipos de datos distintos a MySQL o a SQL Server y Access.

Tipo de dato Naturaleza Tamaño / formato TINYINT [UNSIGNED] Entero 1 byte SMALLINT [UNSIGNED] Entero 2 bytes MEDIUMINT [UNSIGNED] Entero 3 bytes INT [UNSIGNED] Entero 4 bytes Tipos de datos BIGINT [UNSIGNED] Entero 8 bytes INTEGER [UNSIGNED] Entero 4 bytes DOUBLE [UNSIGNED] Real Aproximado 8 bytes FLOAT [UNSIGNED] Real Aproximado 4 bytes DECIMAL(longitud,decimales) Real Exacto Variable NUMERIC(longitud,decimales) Real Exacto Variable DATE Fecha 'aaaa-mm-dd' TIME Hora 'hh:mm:ss' TIMESTAMP Fecha y Hora 'aaaa-mm-dd hh:mm:ss' DATETIME Fecha y hora 'aaaa-mm-dd hh:mm:ss' CHAR(longitud) caracteres Longitud Fija VARCHAR(longitud) caracteres Longitud Variable BLOB Objetos binarios Longitud Variable TEXT Campos Memo Longitud Variable ENUM (valor 1, valor 2, valor3...) Enumeraciones Lista de valores SET(valorl, valor2, valor3...) Conjuntos Conjuntos de valores

Características de la creación de tablas. opciones_tabla: opción_tabla [opción_tabla] opción_tabla: ENGINE = nombre_motor AUTO.INCREMENT = valor [DEFAULT] CHARACTER SET juego_caracteres [COLLATE colación] CHECKSUM ={0 1} COMMENT = 'string' MAX.ROWS = valor MIN.ROWS = valor nombre_motor: innodb, MyIsam y Memory #Ejemplo de creación de tabla en MySQL create table if not exists Pedido( código int auto_increment primary key, fecha datetime, estado enum('pendiente','entregado','rechazado') ) comment = 'tabla de pedidos a proveedores' autoincrement = 10000 max_rows=1000000 checksum=1 engine=innodb;

Otros comandos mysql: mysql> show tables; Consulta estructura de una tabla: DESCRIBE [esquema.]nombre_tabla;

Modificación de tablas: ALTER TABLE nombre_tabla especificación_alter [, especificación_alter] especificación_alter: ADD definición_columna [FIRST AFTER nombre_columna ] ADD (definición_columna,...) ADD [CONSTRAINT [símbolo]] PRIMARY KEY (nombre_columna,...) ADD [CONSTRAINT [símbolo]] UNIQUE (nombre_columna,...) ADD [CONSTRAINT [símbolo]] FOREIGN KEY (nombre_columna,...) [definición_referencia] CHANGE [COLUMN] anterior_nombre_columna definición_columna [FIRST I AFTER nombre_columna] RENAME COLUMN anterior_nombre_columna TO nuevo_nombre_columna MODIFY definición_columna [FIRST I AFTER nombre_columna] DROP COLUMN nombre_columna DROP PRIMARY KEY DROP FOREIGN KEY fk_simbolo opciones_tabla ALTER TABLE Mascotas ADD Especie VARCHAR(1O) AFTER Raza;

Borrado de tablas: DROP [TEMPORARY] TABLE tbl_name [, tbl_name] Ejemplo: DROP TABLE Mascotas; DROP TABLE Clientes, Empleados; Renombrado de tablas: RENAME TABLE nombre_tabla TO nuevo_nombre_tabla [, nombre_tabla TO nuevo_nombre_tabla]... Ejemplo: RENAME TABLE Mascotas TO Animales;