18
Bases de Datos I. Introducción a MySQL

01 introduccion (1)my sql

Embed Size (px)

Citation preview

Page 1: 01 introduccion (1)my sql

Bases de Datos I.

Introducción a MySQL

Page 2: 01 introduccion (1)my sql

Aplicación de las bases de datosLas bases de datos son ampliamente usadas. Las siguientes son algunas de sus aplicaciones más representativas:

Banca. Para información de los clientes, cuentas y préstamos, y transacciones bancarias.

Líneas aéreas. Para reservas e información de planificación. Las líneas aéreas fueron de los primeros en usar las bases de datos de forma distribuida geográficamente (los terminales situados en todo el mundo accedían al sistema de bases de datos centralizado a través de las líneas telefónicas y otras redes de datos).

Universidades. Para información de los estudiantes, matrículas de las asignaturas y cursos.

Líneas aéreas. Para reservas e información de planificación. Las líneas aéreas fueron de los primeros en usar las bases de datos de forma distribuida geográficamente (los terminales situados en todo el mundo accedían al sistema de bases de datos centralizado a través de las líneas telefónicas y otras redes de datos).

Transacciones de tarjetas de crédito. Para compras con tarjeta de crédito y generación mensual de extractos.

Telecomunicaciones. Para guardar un registro de las llamadas realizadas, generación mensual de facturas, manteniendo el saldo de las tarjetas telefónicas de prepago y para almacenar información sobre las redes de comunicaciones.

Page 3: 01 introduccion (1)my sql

Aplicación de las bases de datos

Finanzas. Para almacenar información sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos.

Ventas. Para información de clientes, productos y compras.

Producción. Para la gestión de la cadena de producción y para el seguimiento de la producción de elementos en las factorías, inventarios de elementos en almacenes y pedidos de elementos.

Recursos humanos. Para información sobre los empleados, salarios, impuestos y beneficios, y para la generación de las nóminas.

NOTA.

Como esta lista ilustra, las bases de datos forman una parte esencial de casi todas las empresas actuales.

Page 4: 01 introduccion (1)my sql

Bases de datos. Concepto

• Una base de datos en su definición mas sencilla, es una colección de archivos relacionados.

• De manera mas técnica, una base de datos es un conjunto de varios tipos de datos organizados e interrelacionados.

• A manera de teoría de conjuntos, es un conjunto de datos de diferentes ámbitos, organizados sistemáticamente, es decir, siguen ciertas reglas.

Page 5: 01 introduccion (1)my sql

Definición de Manejador de bases de datos.

Un manejador de base de datos, conocido con las siglas SGBD – Sistema Gestor de Base de Datos o en ingles DBMS – Database Manager System, es un software que actúa como interfaz entre los datos almacenados en forma binaria en una base de datos y el usuario que desea manejar tales datos.

Usuario

El usuario inicia una operación sobre los datos

El SGBD Localiza los datos en el sistema.

El SGBD opera sobre los datos

El SGBD regresa el resultado de la operación al usuario.

Page 6: 01 introduccion (1)my sql

SQL. Lenguaje de base de datos

SQL. Es el lenguaje estándar para el manejo de base de datos. SQL - Structured Query Language.

SQL se divide en dos Sub-lenguajes.

DML (Data Manipulation Language). Lenguaje para la manipulación de datos agrupa a las operaciones SELECT, INSERT, UPDATE y DELETE.

DDL (Data Definition Language). Lenguaje para la definición de objetos de la base de datos. Agrupa a las operaciones CREATE DATABASE, CREATE TABLE, CREATE INDEX ETC…

Page 7: 01 introduccion (1)my sql

Objetos de una base de datos.

Las bases de datos están compuestas básicamente por 6 objetos: Tablas, Vistas, Funciones, Índices, Procedimientos almacenados y Trigger

Page 8: 01 introduccion (1)my sql

Objetos tablas.Las tablas son los objetos principal de una base de datos, pues son la estructura Física donde se almacenan los datos. Las tablas contienen registros los cuales contienen campos.

TABLA

Filas = Registros

Columnas = Campos

Page 9: 01 introduccion (1)my sql

Introducción a SQL

Definiendo Objetos de una base de datos (DDL)

Page 10: 01 introduccion (1)my sql

Creación de bases de datosSentencia CREATE DATABASE.

Esta sentencia crea una base de datos.

Ejemplos: crear una base llamada “BasePrueba”:CREATE DATABASE BasePrueba

Crear una base de datos llamada Base2CREATE DATABASE Base2

Crear una base de datos llamada “Base_Tres”CREATE DATABASE BaseTres

SintaxisCREATE DATABASE NOMBRE_BASE

Importante.

Los nombres de las base de datos y así como también los nombre de las tablas de la base de datos no deben contener espacios en blanco.

Page 11: 01 introduccion (1)my sql

Crear tablas. Sentencia CREATE TABLE. Construye una tabla

Ejemplo:CREATE TABLE TABLA1 (

Campo1 int,Campo2 int,Campo3 char(3))

CREATE TABLE Proveedores ( ClaveProveedor int, Nombre char(40))

SintaxisCREATE TABLE nombreDeTabla (

Campo1 tipo de dato ,Campo2 Tipo de dato,Campo2 Tipo de dato,…

)

Page 12: 01 introduccion (1)my sql

Modelo de las bases de datosPara que el sistema sea útil debe recuperar datos de forma eficiente. Tal preocupación ha conducido que se realicen tareas de Análisis y Diseño de una base de datos. Esta tareas son complementarias, es decir una depende de la otra. Dichas tareas se realizan en la secuencia siguiente:

Análisis. En este fase, se realiza una entrevista (en el mejor de los casos una serie de entrevistas) con la persona o grupo de personas que requiere la aplicación de base de datos, esto con el fin de que se defina cual es el objetivo de la base de datos, es decir, se destacan factores como:

•Sección (es) del negocios estan involucradas.•Cantidad de información.•Nivel de detalle requerido para la información almacenada.•Reportes se van a proveer con la base de datos, etc…

Diseño. Con la información obtenida en la fase anterior se inicia un proceso de diagramación de las estructuras donde se almacenara la información.

El resultado de estas dos fases es un diagrama que expresa las estructura de la base de datos. A este diagrama se le llama el Modelo Entidad – Relación.

Page 13: 01 introduccion (1)my sql

Modelo de las bases de datosEl objetivo principal de un modelo de bases de datos es proporcionar una herramienta que sirva como referencia tanto al personal especializado en bases de datos, como a los usuarios finales, estos últimos tal vez no estén muy familiarizados con los sistema de computo y bases de datos.

Un modelo de base de datos se puede llevar a detalle según lo requiera el personal que lo interpreta. Por ejemplo:

DBA (Administrador de la base de datos). Necesita conocer, a partir del modelo, nombre de la tabla, campos en la tabla, tipos de datos de cada tabla, claves primarias, relaciones entre tablas, campos con posibilidad de dato vació, etc.

Un desarrollador de reportes solo necesita conocer nombre de tabla, campos en la tabla y el objetivo de cada tabla.

Personal como un gerente, un director, la (el) asistente de la dirección o gerencia no necesitan mas que los reportes, es decir, información impresa de manera clara para toma de decisiones.

Page 14: 01 introduccion (1)my sql

Niveles de abstracción del modelo de las bases de datos

DBA, Desarrolladores

Desarrolladores de reportes,

Usuarios de Reportes.

Nivel bajo de abstracción. Modelo de la base totalmente detallado

Nivel medio de abstracción, muestra información de la base de datos, tal como, nombres de tablas y columnas y la relación entre tablas.

Nivel alto de abstracción. Muestra la información organizada y presentable.

Page 15: 01 introduccion (1)my sql

Ejemplo: ModeladoRequisito.

Se necesita guardar información de los alumnos de una institución educativa. Nos solicitan que mediante la información guardada, se pueda recuperar datos de los alumnos tal como: Nombre, matricula, dirección, teléfono y fecha de nacimiento.

A continuación se simula una sesión de análisis para este requerimiento:

Analista/desarrollador. ¿Cómo realizas tus búsquedas generalmente por nombre o por apellidos?

Usuario. Son mas comunes las búsquedas por apellido, aunque a veces se hacen búsquedas por nombre.

Analista/desarrollador. El valor para tus matriculas se forma a partir de números, letras o numero y letras.

Usuario. Solo números

Analista/desarrollador. ¿Cómo determinas estas matriculas siguen un patrón o formato?

Usuario. Pues inician con el año de inscripción y termina con 4 numeros

Analista/desarrollador. ¿Los cuatro ultimos numeros son aleatoiros o consecutivos?, es decir, ¿los asignas según se van inscribiendo los alumnos (1,2, 3, etc…) o los asignas bajo otro criterio?

Usuario. Son consecutivo, en este momento estamos con el alumno 721.

Analista/desarrollador. ¿El telefono es obligatorio?

Usuario. Si.

Page 16: 01 introduccion (1)my sql

Ejemplo: ModeladoDe la primera respuesta del usuario, el analista decide que para el nombre del alumno lo mejor será que exista un campo nombre y un campo apellido.

De la segunda respuesta de usuario, el analista decide que existirá un campo matricula de tipo numérico.

De la tercera y cuarta respuesta del usuario, el analista decide que el campo matricula puede ser auto - numérico, con valor inicial en yyyy0001.

De la ultima respuesta del usuario, se determina que el campo para el teléfono, siempre debe recibir un dato.

Todo lo anterior se planea almacenarlo en una tabla de una base de datos. Por lo tanto necesitamos un diagrama que describa la tabla.

Figura para modelar una tabla.

Modelo Lógico

Figura para modelar una tabla.

Modelo Físico

Page 17: 01 introduccion (1)my sql

Ejemplo: Modelado

El modelo para la tabla del ejemplo es el siguiente:

Tabla Alumnos

Modelo Lógico

Tabla Alumnos

Modelo Físico

Alumnos

Matricula: int

Nombre: char(20)Apellidos: varchar(50)Fecha_Nac: datetimeTelefono: char(18)Direccion: text

Alumnos

Matricula

NombreApellidosFecha_NacTelefonoDireccion

Pasamos del modelo lógico al modelo Físico

Page 18: 01 introduccion (1)my sql

Implementación del modeloAlumnos

Matricula: int

Nombre: char(20)Apellidos: varchar(50)Fecha_Nac: datetimeTelefono: char(18)Direccion: text

CREATE TABLE Alumnos (

Matricula INT,

Nombre VARCHAR (20),

Apellidos VARCHAR(50),

Fecha_Nac DATE,

Telefono CHAR (18),

Direccion TEXT

)