16
Programa de Estudios de la Unidad I Introducción al Sistema para el Introducción al Sistema para el Manejo de Bases de Datos (DBMS) 1.1 Conceptos. 1.2 Características del DBMS. Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 1 1.2 Características del DBMS. ¿Qué es un Sistema? La Real Academia de la Lengua Española, establece: 1.1 Conceptos. La Real Academia de la Lengua Española, establece: Conjunto de cosas que relacionadas entre sí, ordenadamente contribuyen a determinado objetivo. Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 2 Hay Sistemas Naturales …

Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Programa de Estudios de la Unidad I

Introducción al Sistema para el Introducción al Sistema para el Manejo de Bases de Datos (DBMS)

1.1 Conceptos.

1.2 Características del DBMS.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 1

1.2 Características del DBMS.

¿Qué es un Sistema?

La Real Academia de la Lengua Española, establece:

1.1 Conceptos.

La Real Academia de la Lengua Española, establece:

Conjunto de cosas que relacionadas entre sí,ordenadamente contribuyen a determinado objetivo.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 2

Hay Sistemas Naturales …

Page 2: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son ejemplos de ellas.

1.1 Conceptos.

Dijimos que Sistema es un conjunto de cosas que relacionadas entre sí,ordenadamente contribuyen a determinado objetivo.

Cosa, en el sentido más amplio, son

organizaciones de cualquier tipo son ejemplos de ellas.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 3

Cosa, en el sentido más amplio, son personas, muebles, edificios, máquinas, métodos, etc.

Objetivo, cumplir con la misión de la organización.

¿Que es entonces un Sistema de Información?

1.1 Conceptos.

Sistema de Información?

Colección de personas, procedimientos y equipo construidos y operados para recolectar, almacenar, procesar y proveer información.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 4

información.

Los Sistemas de Información no necesariamente tienen que estar automatizados.

Page 3: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

1.1 Conceptos.

Dentro de un Sistema de Información Automatizado … ¿donde se ubica un DBMS?

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 5

1.1 Conceptos.

DatosBase de Datos

Sistemas de InformaciónAutomatizados

Base de Datos

Hardware

SoftwareSistema OperativoDBMS

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 6

DBMSProgramas de Aplicación

Usuarios

Page 4: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

1.1 Conceptos.

Dato.

Aquel o aquellos valores almacenadosen un campo, un registro o un archivo,sin importar si se trata de valorestradicionales como números o cadenas,

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 7

tradicionales como números o cadenas,sino incluso imágenes, secuencias deaudio, video, etc.

¿Qué es una Base de Datos?

1.1 Conceptos.

¿Qué es una Base de Datos?

Colección de datos pertenecenientes a una organización.

� Todos los datos dentro de un

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 8

� Todos los datos dentro de un organismo tienen relación entre sí aunque no siempre sea evidente.

Page 5: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

¿Qué es un Sistema para el Manejo deBases de Datos (DBMS)?

1.1 Conceptos.

Bases de Datos (DBMS)?

Programas necesarios para facilitar laorganización, almacenamiento y recuperaciónlos datos.

Además contribuye a mantener la seguridad

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 9

Además contribuye a mantener la seguridade integridad de la base de datos a pesar delas caídas del sistema o los intentos de accesosin autorización.

Un DBMS recibe las solicitudes de datos provenientes de un comando o un programa de

1.2 Características del DBMS.

provenientes de un comando o un programa de aplicación completo.

Luego instruye al Sistema Operativo para transferir la información apropiada.

Por lo tanto, es un intermediario:

Sistema Operativo

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 10

Sistema Operativo

DBMS

Programas de Aplicación

Page 6: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Analogía DBMS

1.2 Características del DBMS.

Analogía DBMS

VENDEDOR DE UNA REFACCIONARIA

• Miles de Artículos

• Prepara el almacén para recibir las refacciones (les asigna un lugar sin importar que haya o no existencia).

• Al recibir refacciones, las coloca en el lugar correspondiente.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 11

• Cuando un cliente pide una refacción, el vendedor pasa al almacén, hace un búsqueda rápida y entrega.

Si el cliente tuviera que localizar el artículo por si mismo en el almacén, tal vez tardaría horas o días.

1.2 Características del DBMS.

almacén, tal vez tardaría horas o días.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 12

DBMS

• Provee las facilidades para asignar el lugar para los datos.

• Almacena los datos en su lugar conforme lleguen.

• Facilita la recuperación de los datos a solicitud del usuario.

Page 7: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Impedir la Redundancia y la

El buen uso de los DBMS’s permite principalmente:

1.2 Características del DBMS.

Impedir la Redundancia y la correspondiente inconsistencia de datos.

Obtener fácilmente reportes (consultas) sin necesidad de que un programador escriba un programa.

Mantener la integridad de los datos:

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 13

Mantener la integridad de los datos:� Integridad Referencial.

� Transacciones (Atomicidad).

� Acceso concurrente.

Mantener la Independencia de los Datos.

1.2 Características del DBMS.

Mantener la Independencia de los Datos.� Habilidad de hacer cambios en el esquema sin

que se afecten los programas de aplicación.

Mantener la seguridad.� Impedir accesos no autorizados.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 14

� Mostrar los datos a cada usuario según su perfil.

Page 8: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Clasificación de los usuarios de acuerdo a la forma en que

1.2 Características del DBMS.

acuerdo a la forma en que interactúan con la Base de Datos

• Programadores de aplicaciones• Usuarios Sofisticados

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 15

• Usuarios Sofisticados• Usuarios Ingenuos• Administradores de la Base de Datos

Componentes de un Sistema de Bases de Datos.

1.2 Características del DBMS.

DDL

� Diccionario de datos (DD)

DML

SQL

de Datos.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 16

� SQL

DBM

Page 9: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Programas de aplicación en código objeto

Lenguajes de Programación

con DML

Lenguajes de Consulta (QL)

Diseño de BD mediante

DDL

PrecompiladorDML

Procesador de consultas

Compilador

Usuarios Programadores Usuarios Usuario Ingenuos de aplicaciones Sofisticados Especializado

(capturistas) (DBA)

DML

Compilador del Lenguaje de

Programación

consultasCompilador

DDL

Gestor de bases de datos (DBM)

DBMS

Gestor de archivos a bajo nivel

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 17

Diagrama General de un Sistema de

Bases de DatosAlmacenamientoen disco

Archivos

Diccionario de datos

Programas de aplicación en código objeto

Lenguajes de Programación

UsuariosIngenuos Programadores

y Sofisticados de aplicaciones

Compilador del Lenguaje de

Programación

Gestor de archivos a bajo nivel

Diagrama de los sistemas basados

en el Proceso de Archivos

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 18

Almacenamientoen disco

Archivos

Page 10: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

1.2 Características del DBMS.

Ejemplos de

Ejemplos de

Ejemplos de DBMS’s:

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 19

Ejemplos de RAD Tools:

1.2 Características del DBMS.

Es más cercano a un DBMS que a

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 20

Es más cercano a un DBMS que a una RAD Tool

Page 11: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

� Las tablas deben tener el nombre en plural.

�Alumnos

Criterios para el buen diseño de Bases de Datos

�Alumnos

�Muebles

�Aulas

�Materias

�Personas

� O un nombre que signifique muchos objetos.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 21

� O un nombre que signifique muchos objetos.

�Inventario.

�Mobiliario.

�Retícula.

Diseñe usando conjuntos disjuntos.

� Conjuntos Disjuntos

Aquellos cuya intersección es un conjunto vacío.

� Conviene crear tablas como estas:� Conviene crear tablas como estas:

Personas,Materias,Aulas,Carreras

Y de Personas usar herencia hacia tablas comoAlumnos,Maestros,Intendentes,etc.

� No conviene:

Alumnos,Maestros,Intendentes,Secretarias, etc. sinque exista una tabla base llamada Personas

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 22

que exista una tabla base llamada Personas

Nunca diseñe usando tablas con tuplas del mismo tipo:

� No conviene crear:

AlumnosSistemas, AlumnosMecánica, etc.

Page 12: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Tabla PERSONAS IdPersona Nombre Domicilio FechaNac Teléfono CURP

1 López Parejita Zarco 123 07-02-1981 819-27-37 L1

2 Gutenberg Negrete 650 12-01-1901 823-15-00 G2

3 Juárez Benito Patoni 100 31-03-1982 800-25-25 J4

Ejemplo de un buen diseño

3 Juárez Benito Patoni 100 31-03-1982 800-25-25 J4

4 Pasteur Luis Patoni 234 20-03-1850 818-04-11 P1

5 Abraham Oriente 347 11-04-1890 A0

6 Revueltas José Negrete 1002 24-03-1982 803-17-13 R7

7 Ochoa Lorena Fresno 1410 23-06-1981 800-06-06 O1

8 Aristóteles Pino Suárez 542 23-07-1905 801-00-00 A1

9 Tchaikovski Zaragoza 471 13-08-1920 874-65-02 T4

10 Botticelli Juarez 870 07-09-1919 830-77-55 B9

Tabla MAESTROSTabla ALUMNOS

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 23

Tabla MAESTROSIdMaestro RFC GradoEstudios Sueldo IdPersona

1 PP11 Doctorado 15,000 4

2 AA00 Licenciatura 12,000 5

3 AA11 Licenciatura 12,500 8

4 GG22 Maestría 13,000 2

5 TT44 Maestría 25,000 9

6 BB99 Maestría 20,000 10

Tabla ALUMNOSIdAlumno Control EscuelaProcede IdPersona

1 98040151 Prepa PUMAS 1

2 97040587 Palacio Nacional 3

3 97040014 Colegio Vizcaya 6

4 96040121 LPGA 7

5 98040150 Colegio Alemán 2

Cuando diseñemos tablas, pensemosque posibles valores tendrá cadauno de los atributos cuando hayauno de los atributos cuando hayatuplas en las tablas.

� Para una tupla y un atributodeterminado, solo podrá haber unvalor.

� Si se requiriera más de un valor,

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 24

� Si se requiriera más de un valor,entonces ese atributo no será de latabla, y se debe crear otra tabla.

Page 13: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Tabla PERSONAS IdPersona Nombre Domicilio FechaNac Teléfono CURP

1 López Parejita Zarco 123 07-02-1981 819-27-37 L1

2 Gutenberg Negrete 650 12-01-1901 823-15-00 G2

3 Juárez Benito Patoni 100 31-03-1982 800-25-25 J4

4 Pasteur Luis Patoni 234 20-03-1850 818-04-11 P1

5 Abraham Oriente 347 11-04-1890 A0

6 Revueltas José Negrete 1002 24-03-1982 803-17-13 R7

7 Ochoa Lorena Fresno 1410 23-06-1981 800-06-06 O1

8 Aristóteles Pino Suárez 542 23-07-1905 801-00-00 A1 8 Aristóteles Pino Suárez 542 23-07-1905 801-00-00 A1

9 Tchaikovski Zaragoza 471 13-08-1920 874-65-02 T4

10 Botticelli Juarez 870 07-09-1919 830-77-55 B9

IdPersona Nombre Domicilio FechaNac CURP

1 López Parejita Zarco 123 07-02-1981 L1

2 Gutenberg Negrete 650 12-01-1901 G2

3 Juárez Benito Patoni 100 31-03-1982 J4

Tabla PERSONAS

IdTelPers Teléfono IdPersona

1 819-27-37 1

2 121-01-01 1

3 130-20-20 1

4 823-15-00 2

Tabla TELEFONOSPERSONAS

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 25

4 Pasteur Luis Patoni 234 20-03-1850 P1

5 Abraham Oriente 347 11-04-1890 A0

6 Revueltas José Negrete 1002 24-03-1982 R7

7 Ochoa Lorena Fresno 1410 23-06-1981 O1

8 Aristóteles Pino Suárez 542 23-07-1905 A1

9 Tchaikovski Zaragoza 471 13-08-1920 T4

10 Botticelli Juarez 870 07-09-1919 B9

4 823-15-00 2

5 800-25-25 3

6 818-04-11 4

7 803-17-13 6

8 800-06-06 7

9 801-00-00 8

10 874-65-02 9

11 830-77-55 10

Todas las tablas (incluso las que son asociacionesentre otras tablas) deben tener una llave primariaentre otras tablas) deben tener una llave primaria(PRIMARY KEY) y al menos una llave única(UNIQUE).

� La llave primaria debe ser una Identidad(Atributo autoincremental producido por el DBMS).

� Ejemplo IdAlumno, IdMaestro, IdMateria.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 26

� La llave UNIQUE debe ser un conjunto deatributos (desde luego puede referirse solo a uno)que distinga a cada una de las tuplas de lasdemás.

Page 14: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Las tablas deben contener solo atributos con dominio atómico.

�Dominio

� Conjunto de Valores Válidos.

�Dominio Atómico�Dominio Atómico

� Todos sus elementos se consideran indivisibles.

�Ejemplo

� Tabla ALUMNOS:

� Observe que los atributos tipo fecha son una excepción(en virtud de que los DBMS’s y los lenguajes deprogamación contienen métodos para extraer las partesde esos atributos).

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 27

de esos atributos).IdAlumo Control Apellidos Nombre Calle NumExt NumInt FechaNac CURP

1 98042151 Lucas Pato Dark 123 10 07/02/1981 LP11

2 97041587 Ant Atomic Hormigueros 200 24/03/1982 AA22

3 97043014 Mouse Mickey Sótanos 1100 12500 23/06/1981 MM33

4 96042121 Bravo Johnny Islas Caribe 100 31/03/1982 BJ44

Nombres de los objetos en general (tablas, atributos, vistas, procedimientos almacenados, etc.):

• Se debe limitar la longitud de los nombres a 20 y tratar de evitar dígitos como parte del nombre.tratar de evitar dígitos como parte del nombre.

• Nunca use espacios (aunque el DBMS lo permita). • Trate de evitar guiones bajos (mejor use

NotacionPascal).• Evite abreviaciones, ya que se puede malinerpretar el

nombre. Por ejemplo, nunca use Dom en lugar de Domicilio.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 28

Domicilio.• Evite acrónimos, puede haber diferentes significados

para algunos de ellos, por ejemplo: CP.

Page 15: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Nombres de las Tablas

• Deben ser mas cortos aún (sin que dejen de ser claros), ya que usan muy frecuentemente.

• Prefijos. Usados correctamente permiten organizar las tablas de Usados correctamente permiten organizar las tablas de acuerdo a grupos relacionados o distinguirlas de otras tablas no relacionadas. Por ejemplo las tablas de Control Escolar se podrían llamar:ceAlumnos, ceMaestros, ceGrupos, etc. Las de Contabilidad: ctCargos, ctAbonos, etc.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 29

Las de Contabilidad: ctCargos, ctAbonos, etc.• Tablas que son asociaciones entre otras tablas, es útil

asignarles nombres que indiquen la cardinalidad, por ejemplo: ceGruposMaestro, el nombre implica N:1

Columnas

• Cuando asigne los nombres, tenga siempre en mente que ya se sabe que son miembros de la tabla, por ejemplo: la tabla Alumnos, debe tener un atributo llamado Nombrepero nunca NombreAlumno.pero nunca NombreAlumno.Excepción: las llaves PRIMARIAS, como se “exportan” a otras tablas, deben denominarse: IdAlumno o IdMaestro (siempre y cuando sean llaves Identidad Autoincrementales).Cuando en la misma tabla se encuentra más de una vez la misma llave foránea, por ejemplo, en PrerrequisitosMat,

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 30

misma llave foránea, por ejemplo, en PrerrequisitosMat, es conveniente nombrarlas IdMateriaAnt, IdMateriaSig, etc., o simplemente IdAnterior, IdSiguiente, etc. O contraviniendo una de las primeras recomendaciones, IdMateria1, IdMateria2.

Page 16: Unidad 1 [Modo de compatibilidad] Bases de Datos/2x U1.pdf · 2011-09-02 · También hay sistemas artificiales (creados por las personas), las organizaciones de cualquier tipo son

Columnas

• Los nombres de los atributos (columnas de la tabla) generalmente deben ser palabras en singular.generalmente deben ser palabras en singular.

• Conviene escribir los nombres de los atributos booleanos con nombres como: DadoDeBaja, TienePermiso, etc.

• Atributos que son tipo fecha u hora deben llevar en el nombre la palabra “fecha” u “hora”, por ejemplo:FechaFinContrato, HoraSalida, etc.

Taller B. Datos ISC Ing. Felipe Alanís González - ITD - 31

FechaFinContrato, HoraSalida, etc.• Si algún atributo representa tiempo, conviene añadir

al nombre del atributo, la unidad de medida.DiasCredito, MaxMinutosRetraso, DuracionSegundos, etc.