Diapositiva 1

Anuncio
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
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:
mysql> show databases;
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
seleccionar. El comando USE no necesita un punto y coma al final.
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();
+------------+
| database() |
+------------+
| sample |
+------------+
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)
El ejemplo eliminará permanentemente la base de datos.
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
Descargar