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
BASE DE DATOS
¿QUÉ ES UN SISTEMA DE GESTIÓN DE BASE DE DATOS?
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
BASE DE DATOS RELACIONALES
MODELO DE ENTIDAD RELACIÓN
Los diagramas o modelos entidad-relación (denominado por su
BASE DE DATOS RELACIONALES
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
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
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.
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)
BASE DE DATOS RELACIONALES - SQL
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:
BASE DE DATOS RELACIONALES - SQL
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
BASE DE DATOS RELACIONALES - SQL
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();
BASE DE DATOS RELACIONALES - SQL
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)
BASE DE DATOS RELACIONALES - SQL
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] );
BASE DE DATOS RELACIONALES - SQL
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) );
BASE DE DATOS RELACIONALES - SQL
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)
BASE DE DATOS RELACIONALES - SQL
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)
BASE DE DATOS RELACIONALES - SQL
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)
BASE DE DATOS RELACIONALES - SQL
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,...;)
BASE DE DATOS RELACIONALES - SQL
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
BASE DE DATOS RELACIONALES - SQL
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)
BASE DE DATOS RELACIONALES - SQL
SELECCIONAR DATOS:
Para ver todos los datos de la tabla, usamos el ejemplo siguiente.
mysql> select * from student;
BASE DE DATOS RELACIONALES - SQL
+---+---+---+---+---+
| 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)
BASE DE DATOS RELACIONALES - SQL
OTRAS SENTENCIAS: - LIMIT - ORDER BY - GROUPBY - WHERE- LIKE OR NOT LIKE - UPDATE
- DELETE - JOINS