Introducción a las bases de datos.



Documentos relacionados
A.1. Definiciones de datos en SQL

Repaso de Conceptos Básicos de Bases de Datos

Base de datos relacional

Bases de Datos: Structured Query Language (SQL)

SQL (Structured Query Language)

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

Bases de Datos 2. Teórico

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

SQL. Orígenes y Evolución

T12 Vistas y tablas temporales

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

APÉNDICE SQL (Structures Query Language)

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

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

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

Restricciones de Integridad

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Consultas con combinaciones

Lenguaje para descripción de datos

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

Acceso a bases de datos MySQL con PHP

Tema 33. El lenguaje SQL

BASE DE DATOS RELACIONALES

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Base de Datos Práctica 1.

Tema 4. SQL. Juan Ignacio Rodríguez de León

Temario. Índices simples Árboles B Hashing

Bases de Datos Relacionales

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

SQL Los fundamentos del lenguaje

UNIDAD DIDACTICA 1: SISTEMAS GESTORES DE BASES DE DATOS

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

Bases de Datos. Sistemas de Gestión de Bases de Datos

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

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Bases de datos y tablas

ÍNDICE. Introducción... Capítulo 1. Novedades de Access

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

select nombre from profesores where categoria='aso6';

Bases de datos relacionales y el modelo entidad-relación

TEMA 20: CONCEPTOS BÁSICOS DE SQL

Bases de Datos SQL - Ejemplos

Tema 3 Modelo relacional

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Procedimientos para agrupar y resumir datos

MANUAL BÁSICO DEL LENGUAJE SQL

PRÁCTICA B2. Definición y modificación de datos en SQL

Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

PROGRAMANDO BASES DE DATOS PostgreSQL INTRODUCCIÓN INTRODUCCIÓN A LAS BASES DE DATOS (L1)

DML en SQL. Consultas sencillas usando el DML de SQL

Bases de datos: Sistemas de bases de datos:

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

SQL SQL. Índice. Componentes. Objetivos

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

[CASI v.0110] Pág. 1

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

8 SQL SERVER 2008 RA-MA

CURSO DE SQL SERVER 2005

PRACTICA DE ADMINISTRACION DE BASES DE DATOS

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

BASES DE DATOS - SQL. Javier Enciso

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

1. DML. Las subconsultas

Base de datos Lenguaje SQL

SQL (Structured Query Language)- DML

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

U.E JUAN DE VELASCO CREAR DATOS EN SQL

Práctica 3. Consultas SQL

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


EL ENTORNO DE TRABAJO SQL ORACLE

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

CONSULTAS MULTITABLAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

BASES DE DATOS EL MODELO RELACIONAL: LAS TABLAS

Bases de Datos 1. Práctica 2. Alquileres de Coches

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

GENERACIÓN DE ANTICIPOS DE CRÉDITO

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

Modelos y Bases de Datos

TRABAJO GRUPAL TEMA: COMO CREAR BASE DE DATOS EN SQL

Unidad. Lenguaje SQL. (Structured Query Language)

ÍNDICE PRIMERA PARTE... 17

Vistas en postgresql

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

1.264 Tema 7. Introducción a SQL

Tema 11 Bases de datos. Fundamentos de Informática

Paso del E-R a tablas

Trabajos de Ampliación. Bases de datos NoSQL.

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

- Bases de Datos - - Diseño Físico - Luis D. García

ESPECIALISTA EN BASE DE DATOS

Transcripción:

Introducción a las BBDD 1 Centro de Referencia Linux UAM-IBM Introducción a las bases de datos. Carmen B. Navarrete Navarrete carmen_navarrete@telefonica.net

Introducción a las BBDD 2 Qué vamos a ver? Introducción a las bases de datos. Administración de bases de datos. Implementación de bases de datos. Lenguaje SQL. JDBC.

Introducción a las BBDD 3 Introducción Qué son las bases de datos? Gestores más conocidos.

Introducción a las BBDD 4 Qué son las BBDD? (I) Colección de información organizada y relacionada entre ella. Estructura similar a una matriz (tabla) con filas (registros o entradas) y columnas (campos). La intersección de fila/columna se llama celda. El tipo de información de un campo se conoce como atributo.

Introducción a las BBDD 5 Qué son las BBDD? (II) Campo Atributo Registro Celda Tabla Productos. Los valores que toman las celdas pertenecen a un dominio.

Introducción a las BBDD 6 Qué son las BBDD? (III) Conceptos básicos. Tabla, registro, campo, celda, atributo, dominio... Relación: condición de los datos de una base de datos. Clave primaria (primary key): conjunto de atributos que identifican de forma única a cada tupla (registro) en una relación. Clave externa (foreign key): clave en una tabla que pertenece a otra. Herencia.

Introducción a las BBDD 7 Qué son las BBDD? (IV) Negrita: clave primaria Subrayado: clave externa Cursiva: atributo multievaluado IDProducto: clave primaria IDProducto: clave externa DNI: clave primaria Clave primaria con 3 atributos.

Introducción a las BBDD 8 Qué son las BBDD? (V) Características importantes Principios: Coherencia de datos: no puede existir datos contradictorios en la base de datos. Localidad: los datos no tienen porqué residir en local. Pueden estar distribuidas. Aparece el gestor de la base de datos. Operaciones sobre las bases de datos Modificación (inserción, borrado y actualización). Consultas (petición de datos).

Introducción a las BBDD 9 Gestores más conocidos Gestor: da transparencia al usuario sobre el principio de localidad.

Introducción a las BBDD 10 Cómo empezar Introducción a las bases de datos. Administración de bases de datos. Implementación de bases de datos. Lenguaje SQL. JDBC.

Introducción a las BBDD 11 Administración Introducción. Creación de usuarios. Creación de tablas.

Introducción a las BBDD 12 Introducción Todo programa informático necesita de una administración. Aplicaciones, sistemas, web, bases de datos, etc. Tarea consistente en creación de usuarios, bases de datos, manejo de permisos de acceso... Cualquiera de estas operaciones (comandos) depende del gestor de la base de datos (en postgresql).

Introducción a las BBDD 13 Administración de usuarios Hay que hacerlo desde el usuario postgres.(1ª) Comando: createuser [OPTION][USERNAME] Permisos para crear nuevas bases de datos, nuevos usuarios... Acordarse de la contraseña (opción -P) Puertos, conexiones, etc.

Introducción a las BBDD 14 Administración de BBDD Hay que hacerlo desde el usuario postgres (1ª). Comando: createdb [OPTION]...[DBNAME][DESCR] Base de datos que contiene todo el conjunto de tablas. Por defecto se crea una base de datos con el mismo nombre que el usuario.

Introducción a las BBDD 15 Continuamos con... Introducción a las bases de datos. Administración de bases de datos. Implementación de bases de datos. Lenguaje SQL. JDBC.

Introducción a las BBDD 16 Implementación. Introducción. Diagrama E/R. Entidades. Relaciones. 1 a 1 (uno a uno) 1 a N (uno a muchos) M a N (muchos a muchos) Atributos. Diagrama relacional. Diseño de tablas.

Introducción a las BBDD 17 Introducción Se trata de dibujar el diseño de la base de datos. Lenguaje gráfico estándar. Existen diferentes tipos de diagramas. Perfecto para las personas a las que le gusta la TIF Teoría de Ideas Felices. No existe un algoritmo, sólo recomendaciones. Pura práctica y haber visto muchas.

Introducción a las BBDD 18 Diagramas E/R (I) Cajas como entidades y rombos con flechas como relaciones. Entidades: Conjuntos de elementos que sufren las acciones. Sujeto Relaciones: unen las entidades entre sí. Verbos. Atributos: características particulares de esa relación o de las entidades que involucra.

Introducción a las BBDD 19 Entidades Representación: Atributos Entidad La entidad como mínimo tiene que tener un atributo, de lo contrario, no es entidad. Ya en este diagrama se especifican las claves primarias y las multievaluadas, pero NO las externas, puesto que aún no existen.

Introducción a las BBDD 20 Relaciones (I) Existen diferentes representaciones dependiendo del tipo de relación que tenga más sentido usar. La relación puede no tener atributos. Depende de si existen o no características que varíen en la relación entre las entidades. Al igual que antes, se especifican las primarias y multievaluadas, pero no las externas. Las relaciones no solo relacionan dos entidades, sino que pueden relacionar entre ellas 3, 4 o las que sean.

Introducción a las BBDD 21 Relaciones (II) Representación general. Relación 1 a 1 Relación 1 a N Relación M a N Y si la relación queda vacía...?

Introducción a las BBDD 22 Relaciones (III) Podría hacerse una similitud con conjuntos de la siguiente manera: El vacío no significa que no haya relación sino que puede que aún ese valor no exista. Por ejemplo, el número de ocupantes de un coche, a excepción del conductor. Puede que sea un acompañante, más de uno, o directamente ninguno... En el E/R se tiene en cuenta y en la implementación este valor podrá ser un null.

Introducción a las BBDD 23 Ejemplos de relaciones El nombre de una persona con sus apellidos: 1 a N Si tiene más de un nombre: M a N Si es extranjero y solo tiene un apellido: 1 a 1 Extranjero con más de un nombre: 1 a N Si no tiene o nombre o apellido 0 a N o 0 a 1 --> 0 a 0 no existe.

Diagrama E/R (II) Introducción a las BBDD 24

Introducción a las BBDD 25 Diagrama relacional (I) Puede obtenerse a partir del diagrama anterior. Entidades con cajas y atributos (primarios, externas y mutievaluados). Desaparecen las relaciones. Se especifica la cardinalidad. Recomendación (no algoritmo) acerca de la transformación de un diagrama en otro.

Introducción a las BBDD 26 Diagrama relacional (II) 1 M 1 N

Introducción a las BBDD 27 Diseño de tablas Se trata de definir con texto las tablas a usar, para después pasar a SQL En negrita las claves primarias, subrayadas las claves externas. COCHE (Matrícula, Bastidor, DNI, Modelo) MOTOR (Bastidor, Cilindrada, Potencia, Consumo) OCUPANTES (DNI, Matrícula, N_Ocupantes)

Introducción a las BBDD 28 Y se programa en... Introducción a las bases de datos. Administración de bases de datos. Implementación de bases de datos. Lenguaje SQL. JDBC.

Introducción a las BBDD 29 Lenguaje SQL Introducción y evolución. Tipos de datos. Creación de tablas. Restricciones. Modificación de tablas. Borrado de tablas. Consultas a tablas. Otras operaciones.

Introducción a las BBDD 30 Introducción y evolución 1970: Codd describe el modelo relaciona. System V: gestor de bases de datos. SEQUEL: el lenguaje de programación. SEQUEL deriva en SQL Standard Query Language. 1982: primer estándar de SQL. 1989: modificaciones sobre la integridad referencial. 1992: siguiente estándar. 1997: estándar orientado a objetos (triggers, disparadores).

Introducción a las BBDD 31 Tipos de datos (I) Tipos numéricos. Enteros: INT(EGER), SMALLINT Reales: FLOAT, REAL, DOUBLE PRECISION Con formato: DECIMAL(t,d) NUMERIC(t,d) t: número total de dígitos. d: cifras a la derecha del punto. Cadenas de caracteres. CHAR(n): número de caracteres. VARCHAR(n), CHAR VARYING(n): número máximo de caracteres.

Introducción a las BBDD 32 Tipos de datos (II) Cadenas de bits. BIT(n): número de bits. BIT VARYING(n): número máximo de bits. Fechas. DATE 'yyyy_mm_d' Horas. TIME 'hh:mm:ss' Intervalos. INTERVAL valor uinicio [TO ufinal]

Introducción a las BBDD 33 Ejemplos de INTERVAL INTERVAL 1 YEAR 1 año INTERVAL 3-2 YEAR TO MONTH 3 años y 2 meses INTERVAL 2 12 DAY TO HOUR 2 horas y media INTERVAL 3:20 HOUR TO MINUTE 3 horas y 20 minutos INTERVAL 3:20:45 HOUR TO SECOND 3 horas 20 minutos y 45 segundos

Introducción a las BBDD 34 Tipos de datos (III) Dominios Parecido al TYPEDEF ENUM de C. CREATE DOMAIN nombre [AS] tipo_datos [DEFAULT {literal NULL}] [CONSTRAINT nombre] CHECK(expresion) Ejemplos: CREATE DOMAIN matricula NUMERIC(4) DEFAULT 0 CHECK (VALUE IS NOT NULL) CREATE DOMAIN modelo CHAR VARYING(30) CHECK (VALUE IN ( marca1, marca2 ))

Introducción a las BBDD 35 Creación de tablas Para crear una tabla se usa: CREATE TABLE nombre (columna {tipo_datos dominio}); - Todas las entradas acaban excepto la última en coma (,). La última va con punto y coma (;) - Se pueden añadir restricciones de columna y de tabla. Además las restricciones se pueden nombrar.

Introducción a las BBDD 36 Restricciones Restricciones de columna Obligar a que los valores de la columna cumplan unas condiciones Restricciones de tabla Sobre todo integridad de la tabla con otras tablas Ejemplos: NOT NULL UNIQUE PRIMARY KEY CHECK DEFAULT FOREIGN KEY

Introducción a las BBDD 37 Modificación En la modificación de tablas se diferencian las operaciones de: Añadir columnas ALTER TABLE tabla ADD columna tipo Eliminar columnas ALTER TABLE tabla DROP columna {CASCADE RESTRICT} Modificar definiciones de columna ALTER TABLE tabla ALTER columna {DROP DEFAULT SET DEFAULT}

Introducción a las BBDD 38 Borrado Borrar restricciones ALTER TABLE tabla DROP CONSTRAINT restr Borrar tablas DROP TABLE tabla {CASCADE RESTRICT} CASCADE: se borra la tabla y todos los elementos de la BD que referencien a la tabla. RESTRICT: sólo se borra la tabla si antes se han borrado todos los elementos que la referencien.

Introducción a las BBDD 39 Consultas (I) Básicamente es: SELECT columnas FROM tabla WHERE condicion columnas = * --> todas las columnas Eliminar valores repetidos. SQL no elimina tuplas repetidas. Se usa el operador DISTINCT antes de 'columnas' Ordenar los resultados ORDER BY columnas {ASC DESC} ASCendente, DESCendente 'columnas' se puede sustituir por números empezando a numerar en 1.

Introducción a las BBDD 40 Consultas (II) Renombrar columnas del resultado Esto se hace para volver a usar esa columna en la consulta. Seleccionar valores en un intervalo. WHERE valor BETWEEN valor_1 AND valor_2 Ej: BETWEEN hoy AND hoy + interval '14' Pertenecer a un conjunto WHERE valor IN {lista subconsulta}

Introducción a las BBDD 41 Consultas (III) Filtro de subcadenas LIKE 'cadena' cadena puede contener: '%' : ó 0 ó más caracteres. '-' : 1 caracter '/' : escapa esos caracteres. Ejemplo: WHERE trabajo LIKE Infor%'

Introducción a las BBDD 42 Otros operadores Se pueden usar <, >, =,... Existe el operador NOT Operadores más complejos como EXIST, COUNT, HAVING, ADD, SUM, GROUP BY... Referido a más de una tabla: productos cartesianos (,) y uniones. Uniones, diferencias, intersecciones, NATURAL JOIN...

Introducción a las BBDD 43 Resumen SQL Sobre todo: NO HAY VARIABLES!! Cómo haríais un bucle tipo FOR? y llevar una cuenta?... Cambio muy fuerte de mentalidad en cuanto a la programación. API de SQL complejo con multitud de funcionalidades.

Introducción a las BBDD 44 Y para acabar...... e irnos a comer Introducción a las bases de datos. Administración de bases de datos. Implementación de bases de datos. Lenguaje SQL. JDBC.

Introducción a las BBDD 45 JDBC (I) SQL Estático SQL Embebido (incrustado) Las consultas se crean en tiempo de ejecución. Necesario una CLI (Common Language Interface) ODBC: Open DataBase Connectivity. JDBC: Java DataBase Connectivity. Drivers para las conexiones con las bases de datos.

Introducción a las BBDD 46 JDBC (II) Quieres poder conectar una base de datos con Java y hacerle una interfaz gráfica? Próximo episodio en prácticas...