05 Más comandos ddl
Upcoming SlideShare
Loading in...5
×
 

05 Más comandos ddl

on

  • 1,586 views

Particularidades y precisiones a los primeros comandos DDL. Índices e índices únicos

Particularidades y precisiones a los primeros comandos DDL. Índices e índices únicos

Statistics

Views

Total Views
1,586
Views on SlideShare
1,520
Embed Views
66

Actions

Likes
1
Downloads
10
Comments
0

1 Embed 66

http://www.informatica.escuelaedib.com 66

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

05 Más comandos ddl 05 Más comandos ddl Presentation Transcript

  • Más comandos DDL
    • Después de conocer los comandos elementales vamos a:
      • Ampliar alguna de sus opciones
      • Incorporar algunos nuevos
  • Selección del motor de BD
    • MySQL puede gestionar cada tabla con distintos motores.
    • Hay motores muy rápidos pero que no comprueban la integridad referencial (MyISAM).
    • Para estudiar BD ese tipo de motores no nos valen, por eso usaremos siempre InnoDB
    • Para establecer el motor de una tabla: create table NombreTabla ( … ) engine=InnoDB;
  • IF EXISTS / IF NOT EXISTS
    • Los modificadores:
      • IF EXISTS
      • IF NOT EXISTS Pueden añadirse a todos los comandos del tipo:
      • CREATE (database | table) IF NOT EXISTS nombre ...
      • DROP (database | table) IF EXISTS nombre … Se usan en ”scripts” (ficheros con instrucciones MySQL) para que los comandos CREATE o DROP no den errores en caso de intentar crear un objeto que ya existe o de eliminar uno que no se haya creado antes.
  • drop constraint
    • Llamamos constraint (restricción) a las condiciones extra que imponemos a las tablas. De momento sólo hemos añadido restricciones del tipo ”foreign key” pero hay más.
    • Sirve para eliminar cualquier constraint como por ejemplo una Foreign Key
    • Cuando se creó la constraint es necesario haberle asignado un nombre (p.ej FK_PAIS)
    • Se usa así: alter table NombreTabla drop constraint NombreConstraint ;
  • Particularidades al introducir datos con ”insert” I
    • En la presentación anterior vimos el comando insert para poder introducir algunos datos de ejemplo en nuestras tablas.
    • insert into NombreTabla values (v1, v2, … vn);
    • insert no forma parte del DDL, es parte del DML, pero lo vemos para poder hacer las primeras pruebas.
    • Los datos deben escribirse de la forma adecuada según el tipo de datos. (sigue -->)
  • Particularidades al introducir datos con ”insert” II
    • Ejemplo de insert para una tabla con atributos, por orden, de los tipos: int , float , date , varchar(50) , char (50) , enum('H', 'M', 'X') , boolean
    • insert into NombreTabla values ( 15 , 1.75 , '2004-12-21' , 'Manuel García' , 'manu' , 'H' , True );
    • Fíjate:
      • El separador de decimales es ”.”
      • Las fechas se escriben entre apóstrofes (') y en el formato AAAA-MM-DD
      • Los valores no numéricos se deben indicar entre apóstrofes (')
      • Los valores booleanos son True y False , pero podemos sustituirlos por sus equivalentes 1 y 0
  • Otras constraints
    • Además de foreign keys que implementan la integridad referencial , el MR contempla otros tipos de restricciones: los índices.
      • índices : sirven para mejorar la velocidad de las búsquedas de información.
      • índices únicos : además de lo anterior imponen una restricción de unicidad sobre claves alternativas.
    • La primary key también es una constraint, pero la definimos en el create table porque es obligatoria para cada tabla en el modelo relacional.
  • Incorporando índices a una tabla ya creada
    • alter table CLIENTES add constraint IND_AP1 index (ap1);
    • Decidir los índices adecuados no es inmediato, puede requerir ensayo/error. Lo veréis en Admin de BBDD.
    • alter table CLIENTES add constraint INU_DNI unique index (dni);
    • Siempre que detectemos una clave alternativa, es recomendable definir un unique index, para que nuestro modelo la garantice.