CSI Esquemas

12

Click here to load reader

description

Esquema de nuestra BD

Transcript of CSI Esquemas

Page 1: CSI Esquemas

UNIVERSIDAD TECNOLÓGICA DE TECAMACHALCO

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Administración de Base de Datos.

Lic. María de los Ángeles Villafañe Ríos.

PRESENTAN:

Empresa:

CSI.

Page 2: CSI Esquemas

MySQL.

¿Qué es MySQL?

Es un sistema de gestión de bases de datos relacional, fue creada por la empresa

sueca MySQL AB, la cual tiene el copyright del código fuente del servidor SQL, así

como también de la marca.

MySQL es un software de código abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye una versión comercial, en lo único que se diferencia de la versión libre, es en el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de otra manera, se vulneraría la licencia GPL. El lenguaje de programación que utiliza MySQL es Structured Query Language

(SQL) que fue desarrollado por IBM en 1981 y desde entonces es utilizado de

forma generalizada en las bases de datos relacionales.

Características principales. Inicialmente, MySQL carecía de algunos elementos esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de esto, atrajo a los desarrolladores de páginas web con contenido dinámico, debido a su simplicidad, de tal manera que los elementos faltantes fueron complementados por la vía de las aplicaciones que la utilizan. Poco a poco estos elementos faltantes, están siendo incorporados tanto por desarrolladores internos, como por desarrolladores de software libre. En las últimas versiones se pueden destacar las siguientes características principales: 1.- El principal objetivo de MySQL es velocidad y robustez. 2.- Soporta gran cantidad de tipos de datos para las columnas. 3.- Gran portabilidad entre sistemas, puede trabajar en distintas plataformas y

sistemas operativos. 4.- Cada base de datos cuenta con 3 archivos: Uno de estructura, uno de datos y

uno de índice y soporta hasta 32 índices por tabla. 5.- Aprovecha la potencia de sistemas multiproceso, gracias a su implementación

multihilo. 6.- Flexible sistema de contraseñas (passwords) y gestión de usuarios, con un

muy buen nivel de seguridad en los datos.

Page 3: CSI Esquemas

7.- El servidor soporta mensajes de error en distintas lenguas

8.- Uso de transacciones ACID (Atomic, Consistent Isolated, Durable): Para

construir aplicaciones más seguras mediante commit, rollback, crash recovery y

bloqueo por registro.

9.- Store Procedures: Para mejorar la programación.

10.- Triggers: Para mejorar las reglas del negocio.

11.- Vistas: Para que la información sensible sea más segura.

12.- Information Schema: Para un fácil acceso a los metadatos.

13.- Transacciones Distribuidas(XA): Para soportar transacciones entre múltiples

ambientes de bases de datos.

VENTAJAS.

1.- Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento.

2.- Bajo costo en requerimientos para la elaboración de bases de datos, ya que

debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.

2.- Facilidad de configuración e instalación. 3.- Soporta gran variedad de Sistemas Operativos 4.- Baja probabilidad de corromper datos, incluso si los errores no se producen en

el propio gestor, sino en el sistema en el que está. 5.- Conectividad y seguridad

DESVENTAJAS. 1.- Un gran porcentaje de las utilidades de MySQL no están documentadas. 2.- No es intuitivo, como otros programas (ACCESS).

Page 4: CSI Esquemas

Especificaciones Técnicas

Arquitectura Flexible

Open Source

Multi-threaded

Pluggable Storage-Engine Architecture

MyISAM

InnoDB

Merge

Memory

Archive

Cluster

OLTP y Transacciones

ACID Transactions

Commit, Rollback

Foreign Keys, Referential Integrity

Row-level Locking

Customizable Lock Isolation Levels

Distributed Transactions (XA)

Snapshot Repeatable Reads (readers don’t block writers and vice-versa)

Timed Deadlock Detection

ANSI SQL Standards

ANSI SQL

SubQueries, Joins, Cursors

Prepared Statements

Page 5: CSI Esquemas

Views

Triggers

Stored Procedures

User-Defined Functions

Information Schema

Unicode

Referential Integrity

Server-enforced Data Integrity

Strong Data type Support (e.g.Numeric, VARCHAR, BLOB, etc.)

Optimized Datatype Support (e.g. Tinyint, Smallint, Mediumint, Bigint, etc.)

Replicación, Cluster & Alta Disponibilidad

Built-in Replication

EngineMaster/Slave

Dual Master

Replication Ring

Replication Tree

Proven Load Balancing

· Distributed AutoIncrement

Main Memory Cluster Engine with instant failover (available separately)

Respaldos

Auto-Restart/Recovery

Backup and Point-in-Time Recovery

Logical Online Hot-Backup

Physical Online Hot-Backup (available separately)

Manejo del Almacenamiento

Hassle-Free Storage Administration

Automatic Space Expansion

Built-in Space Reclamation

Page 6: CSI Esquemas

Auto Undo/Rollback Management

Customizable Storage Assignments

Compressed and Archive Tables

Packed Index Storage

Works with NAS or SAN storage

Características optimizadas para aplicaciones Web

Server-side Thread Pool

Connection Thread Caching

Query Results Caching

Load Balancing

Prepared Statements

Full Text Search

Multiple Character Sets

Geospatial Support

Multi-Terabyte Scalability

Características optimizadas para Data Warehouse

Fast Data Load Utility

High-Speed Multi-Insert Function

GROUP BY WITH ROLLUP

Aggregate UDF

Analytic SQL Functions

Geospatial Support

Archive Storage Engine for historical data

Multi-Terabyte Scalability

Seguridad

SSL Support

Built-in Data Encryption/Decryption

Granular External Security Control Fine Grained Object Privileges

Page 7: CSI Esquemas

View Support

Triggers for auditing

Query Logs for auditing

Archive Storage Engine for auditing

Fully backed by MySQL Network

Certified Testing

Indemnification

24x7 Production Support

Online Knowledge Base

Customized Advisors

Targeted Alerts

Buen Desempeño

Dynamic Memory Caches

Unique Query Cache

Multiple Index Type Support (B-tree, R-tree, Hash, etc.)

Cost-based Optimizer

High-speed Query Optimizer

Diagnostics and SQL Tracing

Fácil de usar

Fácil de instalar y configurar (aproximadamente 15 minutos para todas las

plataformas)

Cambios dinámicos en la configuración

Información del esquema

Herramientas Gráficas

MySQL Workbench

MySQL Query Browser

Page 8: CSI Esquemas

MySQL Administrator

MySQL Migration Toolkit

Drivers

MySQL Native C Library

MySQL Drivers for ODBC, JDBC, .Net

Community Drivers for PHP, Perl, Python, Ruby, etc

MySQL Connector/MXJ for deployment as a JMX MBean

Plataformas

32 and 64 bit native binaries

Operating Systems

Linux: RedHat, SuSE, Fedora, Debian

Unix: Solaris, HP-UX, AIX, SCO

BSD: FreeBSD

Apple: Mac OS

Windows: 2000, 2003, XP

Novell: NetWare

CPUs

Intel x86, IA32, IA64

AMD Optaron

IBM PowerPC

Sun SPARC

Additional platforms available

Comandos principales de MYSQL. •Arranque de los servidores. Servidor Linux:

safe_mysqld –user=mysqladm & root &

Page 9: CSI Esquemas

Servidor Windows: Mysqld Arranque como usuario: mysql –u usuario –p clave

•Consultas generales sobre las bases de datos

Mostrar las bases de datos:

show databases;

Mostrar las bases de datos seleccionadas:

select databases();

Mostrar las tablas que contiene una base de datos:

show tables;

Seleccionar una base de datos:

use nombre_base;

Describir la estructura de campos de una tabla:

describe nombre_tabla;

•Creación de bases de datos, tablas y registros

Crear una base de datos:

create database nombre_base;

Creación de una tabla:

create [temporary] table [if no exists] nombre_tabla (

nombre_campo tipo1

opciones2

cláusulas3

,

“ “ “ ,

“ “ “ ,

Page 10: CSI Esquemas

[último campo] );

[temporary] --> la tabla existirá mientras exista la conexión con el cliente actual o

hasta que se emita la instrucción drop table.

[if no exist] --> si existe la tabla no se crea una nueva.

(1) Las posibles opciones de tipo de campo son:

tinyint --> 1 byte smallint --> 2 byte mediumint --> 3 byte int --> 4 byte bigint --> 8 byte float --> 4 byte double --> 8 byte decimal --> variable char(n) --> cadena de caracteres de longitud fija varchar(n) --> cadena de caracteres de longitud variables tinyblob --> objeto binario largo (muy pequeño) blob --> objeto binario largo (pequeño) mediumblob --> objeto binario largo (medio) longblob --> objeto binario largo (grande) tinytext --> cadena de texto muy pequeña text --> cadena de texto pequeña mediumtext --> cadena de texto media longtext --> cadena de texto larga enum --> una enumeración set --> un conjunto date --> valor fecha (aaaa-mm-dd) time --> valor de hora (hh-mm-ss) datetime --> valor de fecha y hora timestamp --> valor de lapso de tiempo (aaaammddhhmmss) year --> valor de año

(2) Las posibilidades del apartado opciones son:

Generales: null --> admite valores nulos no null --> rechaza dejar el campo en blanco default --> permite establecer un valor por defecto

Columnas numéricas: auto_increment --> para generar identificadores únicos o valores en serie. unisgned --> rechazo de valores negativos

Cadena:

Page 11: CSI Esquemas

binary --> trata los valores como cadenas binarias (campos char y varchar)

(3) Cláusulas: primary key --> columna indexada para búsqueda rápida. Clave principal, solo puede haber una unique --> crea un índice con valores únicos index, key --> son sinónimos y crean índices que pueden contener valores

repetidos.

Lista_de_acción: establece una o varias acciones a realizar, las posibilidades son:

a)ADD INDEX [nombre _ índice][columna _ índice]: añade un índice a la tabla basado en la columna especificada. Si se especifican varias columnas deben ir separadas por comas.

b) ADD PRIMARY KEY [columna _ índice]: añade una clave principal

siguiendo la columna establecida. c) ADD UNIQUE [nombre _ índice][columna _ índice]: añade un índice de

valor único a la tabla en función de la columna especificada. d) ALTER [column] nombre _ columna (set default valor | drop default):

modifica el valor dedo de una columna o reduce su valor predeterminado actual.

e) CHANGE [column] nombre _ columna declaración _ columna: cambia el

nombre y la definición de una columna; nombre _ columna -> nombre de la columna a modificar, declaración _ columna -> es el valor de definición por el cual se debe regir la columna, sus opciones son las mismas que las señaladas para la creación de los campos de las tablas.

f) DROP [column] nombre _ columna: elimina la columna especificada.

g) DROP INDEX nombre_index: elimina el índice de la tabla. h) DROP PRIMARY KEY: elimina la clave principal de la tabla. Si no existe

clave principal y si índices con especificación UNIQUE se elimina el primero existente.

i) MODIFY [column] declaración _ columna: cambia la declaración de una

columna. j) RENAME [AS] nombre_tabla_nueva: cambia el nombre de la tabla.

Page 12: CSI Esquemas

La empresa CSI viendo las opciones que ofrece MYSQL a decidió a usar su

sistema gestor de base de datos lo cual proporciona muchas cosas interésenlas y

así mismo de que es de licencia gratuita.

Esquema lógico.

Empresa

Calificacion

Alumno

Proyecto

Asesor_externo

Asesor_interno Estadia

realiza

hace

establece

asigna

hace

establece