BASE DE DATOS
BASE DE DATOS QUÉ ES UNA BASE DE DATOS? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Actualmente la mayoría de las bases de datos están en formato digital, lo que implica que se hayan desarrollado herramientas para su manejo.
BASE DE DATOS QUÉ ES UN SISTEMA DE GESTIÓN DE BASE DE DATOS? Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Es decir, sirven de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. También suelen llamarse motores de bases de datos, y cada uno tiene un lenguaje y características propias. Por ejemplo: MySQL, PostgreSQL, Acces, Microsoft SQLServer, Oracle.
BASE DE DATOS BASES DE DATOS RELACIONALES Y NO RELACIONALES Las bases de datos pueden basar su estructura en diferentes modelo, que definen cómo organizar la información. Vamos a ver base de datos que utilizan un modelo relacional ( 1970, Edgar Frank Codd, de los laboratorios IBM). Su idea fundamental es el uso de "relaciones". Existen base de datos no relacionales, cuya estructura se basa en otros modelos (no relacionales), por ejemplo: Base de datos documentales, base de datos en grafo, clave/valor, multi-valor, orientada a objetos y tabular.
BASE DE DATOS RELACIONALES MODELO DE ENTIDAD RELACIÓN Los diagramas o modelos entidad-relación (denominado por su siglas, ERD Diagram Entity relationship ) son una herramienta para el modelado de datos de un sistema de información. Estos modelos expresan entidades relevantes para un sistema de información, sus inter-relaciones y propiedades.
BASE DE DATOS RELACIONALES DIAGRAMA DE ENTIDAD RELACIÓN
BASE DE DATOS RELACIONALES MODELO DE ENTIDAD RELACIÓN Un modelo de Entidad/relación se representan los datos mediante: - Entidades - Atributos - Relaciones Existen otras características que a veces es necesario tener en cuenta: como entidades débiles y fuertes. Si un atributo identifica de forma única a una entidad, esta será su clave primaria. Y se subraya en el diagrama.
BASE DE DATOS RELACIONALES ESTRUCTURA DE UNA BASE DE DATOS Por consiguiente una base de datos posee el siguiente orden jerárquico: - Tablas - Campos - Registros - Lenguaje SQL
BASE DE DATOS RELACIONALES ESTRUCTURA DE UNA BASE DE DATOS El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Este lenguaje nos permite realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos.
BASE DE DATOS RELACIONALES LENGUAJE DE DEFINICIÓN DE DATOS (DDL) Modifican la estructura de los objetos de la base de datos. Existen cuatro operaciones básicas: CREATE, ALTER, DROP y TRUNCATE. LENGUAJE DE MANIPULACIÓN DE DATOS (DML) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación de los datos: INSERT, UPDATE, DELETE
Veamos un ejemplo: Lo primero que debe hacerse es crear la base de datos y luego dentro crear las tablas con sus correspondientes atributos. Antes de empezar a crear una base de datos comprueba si existe alguna base de datos con el nombre que vas a crear. Revisa esto con la sentencia SHOW: mysql> show databases;
Crear la base de datos: mysql> create database sample; Para seleccionar la base de datos tienes que introducir el siguiente ejemplo: mysql> USE sample; Database changed Aquí sample es la database (base de datos) que tu quieres seleccionar. El comando USE no necesita un punto y coma al final.
Crear la base de datos: Puedes usar el siguiente comando para ver la actual base de datos a la que estás conectado: mysql> select database(); +------------+ database() +------------+ sample +------------+
Eliminar la base de datos: Las bases de datos pueden ser reemplazadas o eliminadas usando la sentencia DROP. El siguiente ejemplo elimina la base de datos de muestra. mysql> drop database sample; Query OK, 1 row affected (0.05 sec) El ejemplo eliminará permanentemente la base de datos.
Creando tablas: Una vez que has seleccionado la base de datos, podemos empezar a crear tablas. La sintaxis de Create es CREATE TABLE tablename ( fieldname1 datatype(size) [NULL NOT NULL] fieldname2 datatype(size) [NULL NOT NULL] );
Clave primaria: La PRIMARY KEY está especificada después de definir los campos en el ejemplo siguiente: CREATE TABLE student ( studid INT UNSIGNED AUTO_INCREMENT, name VARCHAR(30), PRIMARY KEY(studID) );
Clave primaria: También podemos crear una clave primaria compuesta. Una clave primaria compuesta es cuando más de un campo es usado para identificar únicamente un registro. Vamos a crear una tabla para mantener los detalles de student en una clase. mysql> create table student(studid int(10), name varchar(20), address varchar(40), phone int(10)); Query OK, 0 rows affected (0.05 sec)
Borrando tablas : La sentencia DROP es usada para borrar una o más tablas completamente de la base de datos. La sintaxis es DROP TABLE tbl_name El ejemplo siguiente borrar la tabla student mysql> drop table student; Query OK, 0 rows affected (0.00 sec)
INSERT es usado para insertar nuevas filas o datos en una tabla existente. La sintaxis de Insert es INSERT INTO tbl_name VALUES[(col_name,...)]; El siguiente ejemplo añadirá los valores como studid, nombre, notas, dirección y número de Teléfono en la tabla student. mysql> insert into student values(1, "steve", 100, "5th cross street", 2456987); Query OK, 1 row affected (0.01 sec)
INSERT STATEMENT FOR MULTIPLE ROWS : Podemos insertar múltiples filas en una tabla usando una sentencia simple INSERT. La Sintaxix es INSERT INTO tbl_name(col_name1, col_name2,...) VALUES(expr1, expr2,...;), (expr1a, expr2a,...;)
Ejemplo: mysql> insert into student(studid,name,marks,address,phone) values(3,'michael',75,'edinburgh',2598234), (4,'jack',82,'victoria street',2436821), (5,'anne',100,'downing street',2634821); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0
CONTANDO FILAS: La sintaxis es SELECT COUNT(*) from tbl_name; Ejemplo : mysql> select count(*) from student; +----------+ count(*) +----------+ 5 +----------+ 1 row in set (0.00 sec)
SELECCIONAR DATOS: Para ver todos los datos de la tabla, usamos el ejemplo siguiente. mysql> select * from student;
+--------+---------+-------+------------------+---------+ studid name marks address phone +--------+---------+-------+------------------+---------+ 1 steve 100 5th cross street 2456987 2 david 98 welling street 547896 3 michael 75 edinburgh 2598234 4 jack 82 victoria street 2436821 5 anne 100 downing street 2634821 6 steve 75 downing street 2874698 7 anne 80 edinburgh 2569843 8 mille 98 victoria street 1236547 +--------+---------+-------+------------------+---------+ 8 rows in set (0.00 sec)
OTRAS SENTENCIAS: - LIMIT - ORDER BY - GROUPBY - WHERE - LIKE OR NOT LIKE - UPDATE - DELETE - JOINS