Está en la página 1de 31

Nombre de la Introducción a las bases de datos

asignatura
Créditos 3 créditos
académicos de la
asignatura
Número y Nombre Módulo 1: Conceptos básicos de bases de datos
del módulo
Autor del Isabel Viviana Marrugo Martinez
contenido (Isabel.marrugo@umb.edu.co)

INTRODUCCION

Desde siempre, la información se ha considerado como el baluarte más importante para


las personas y compañías de diversos sectores económicos; en la antigüedad la
información quedaba registrada a través de gráficos en rocas o tallos de árboles, en
arcilla o incluso hojas de arroz, hoy en día la información se aloja en grandes sistemas
de almacenamiento conformados por cientos de ordenadores sofisticados y redes de
transmisión de alta velocidad.

Las primeras computadoras fueron creadas a finales de la década de 1930, estas


computadoras, no eran tan sofisticadas y realizaban procesos simples que en ese
entonces eran considerados como un gran avance tecnológico y científico, sin duda
este fue el primer gran paso que se dio en la historia para hablar de almacenamiento
digital y bases de datos.

En la década de 1960, las computadoras tenían procesamiento y almacenamiento


limitado, si bien las aplicaciones no eran tan sofisticadas, si era necesario un gran
trabajo de parte del usuario final, para obtener las respuestas que esperaba del
sistema, por otra parte, los datos se almacenaban físicamente según el orden de
ingreso al sistema de cada uno de ellos.

Por otro lado, en 1963 se mencionó por primera vez el término bases de datos, en un
Simposio Celebrado en California y en 1970 el científico Ingles Edgar Codd expuso el
modelo relacional y una serie de reglas para los sistemas relacionales, a través de su
artículo “Un modelo relacional de datos para grandes bancos compartidos”. Esto dio
paso al surgimiento de la segunda generación de Motores de bases de datos; en la
década de 1970 con Oracle, en la década de 1980 con SQL y en 1990 con Access de
Microsoft.
COMPETENCIAS DEL MODULO

o Identificar los componentes básicos de una base de datos.


o Reconocer los Sistemas de Bases de datos Comerciales existentes.
o Comprender los principales objetivos de construir una base de datos.
o Parametrizar los tipos de datos a introducir en una base de datos.
o Configurar una tabla a partir de los parametros brindados, identificando las llaves
principales y foráneas.

ESTRUCTURA TEMATICA

INTRODUCCION ............................................................................................................. 1
COMPETENCIAS DEL MODULO ................................................................................... 2
ESTRUCTURA TEMATICA ............................................................................................ 2
4. IDEOGRAMA ............................................................................................................ 4
5. BASES DE DATOS .................................................................................................. 4
5.1 ¿Qué son las bases de datos? ............................................................................... 4
5.2 Estructura de una base de datos ........................................................................... 5
5.2.1 Campos ................................................................................................................. 6
5.2.1.1 Campos primarios ............................................................................................. 6
5.2.1.2 Campos foráneos .............................................................................................. 7
5.2.2 Registro ................................................................................................................. 7
5.2.3 Dato........................................................................................................................ 7
5.3 Usuarios de una base de datos .............................................................................. 8
5.4 Seguridad de la base de datos ............................................................................... 9
6. SISTEMAS DE GESTION DE BASES DE DATOS ................................................ 11
6.1 Aplicaciones .......................................................................................................... 11
6.2 Funciones y responsabilidades de un DBA ........................................................ 12
6.3 Objetivos de los sistemas de gestión bases de datos ....................................... 14
7. SQL ......................................................................................................................... 15
7.1 Tipos de datos ....................................................................................................... 15
7.1.1 Tipos de datos carácter ..................................................................................... 15
7.1.2 Tipos de datos binarios ..................................................................................... 16
7.1.3 Tipos de datos fecha .......................................................................................... 16
7.1.3 Tipos de datos decimal ...................................................................................... 17
7.1.4 Tipos de datos punto flotante ........................................................................... 18
7.1.5 Tipos de datos entero ........................................................................................ 18
7.1.6 Tipo de datos monetario .................................................................................... 19
8. TABLAS .................................................................................................................. 20
8.1 Creación de tablas ................................................................................................ 20
8.1.1 Reestricciones .................................................................................................. 22
8.2 Modificación de tablas .......................................................................................... 23
8.2.1 Adicionar columna............................................................................................ 24
8.2.2 Borrar columna (DROP) ................................................................................... 24
8.2.3 Modificar el nombre de una columna (CHANGE)............................................. 25
8.2.4 Modificar el tipo de dato de un atributo (MODIFY) .......................................... 26
Para modificar el tipo de dato a un atributo, se debe emplear la siguiente sintaxis:
26
8.3 Borrado de tablas .................................................................................................. 26
Finalmente, para eliminar una tabla se digita la siguiente sintaxis: ....................... 27
9. EJERCICIOS DIDACTICOS ................................................................................... 28
10. GLOSARIO ............................................................................................................. 29
4. IDEOGRAMA

5. BASES DE DATOS

5.1 ¿Qué son las bases de datos?

Para iniciar este curso y las temáticas que se van abordar en él, se hace necesario
definir el concepto de bases de datos.

Según (Reinosa, Maldonado, Muñoz, Damiano, & Abrutsky, 2012), una base de datos
es un conjunto de datos estructurados y definidos a través de un proceso especifico,
que busca evitar la redundancia, y que se almacenara en un medio de almacenamiento
masivo, con un disco.

Otra definición que se puede tomar es la plasmada por Manuel Angel Torres en su libro
SQL Server 2012, en la cual afirma que, una base de datos es un sistema informático
compuesto por un conjunto de información relacionada a una temática particular que
suministra un fundamento para llevar a cabo ciertos procedimientos, como; consulta,
inserción, recuperación, entre otros.

Una base de datos recopila cientos o miles de datos de forma estructurada, bajo unos
parámetros definidos por un grupo de ingenieros y un grupo de usuarios finales, que
permite que la información se localice de forma rápida, que la información no se
duplique (redundancia), que la información sea segura y que se almacene para
posteriores consultas.

Las actividades principales que sugiere una base de datos son;

 Registrar datos importantes para una organización.


 Organizar los datos registrados de forma oportuna.
 Reducir la redundancia de los datos almacenados.
 Garantizar la integridad de los datos almacenados.
 Brindar seguridad a los datos almacenados.

Un ejemplo de esto, sería el sistema de información de una Universidad. En la


Universidad se encuentran varios actores; estudiosos, docentes y administradores,
cada actor requiere acceder al sistema para obtener información diferente, por ejemplo
los estudiantes requieren saber que asignaturas tienen programadas, sus horarios,
salones asignados y por supuesto sus notas; los docentes, por su parte, requieren
saber que asignaturas van a asesorar, en que salones, a que estudiantes, los
porcentajes de notas a manejar y sus horarios de tutoría, para finalizar los
administradores requieren acceder a información financiera y de administración de
recursos físicos de la Universidad. Para este caso, las bases de datos permiten
organizar y estructurar la información de tal manera que cada actor del sistema solo vea
la información que le interesa y que le sea necesario ver.

5.2 Estructura de una base de datos

Una base de datos se compone de un conjunto de tablas. Estas tablas se pueden


definir como un tipo de modelado de datos, donde se almacenan datos recolectados por
una aplicación. Las tablas se utilizan para organizar y presentar información.
Ilustración 1. Ejemplo de tabla en Access

Las tablas a su vez se componen de Campos, registros y datos. A continuación una


breve descripción de cada uno de estos conceptos:

5.2.1 Campos

Representan los atributos de una entidad. Para el ejemplo anterior, los atributos son;
Código, Apellido, Nombre, Teléfono, Correo electrónico, Dirección y Semestre.

Ilustración 2. Campos de una tabla


Los campos pueden clasificarse en dos; Campos primarios y campos foráneos.

5.2.1.1 Campos primarios

El campo primario es el valor que identificará a los registros, por lo general se identifica
de forma numérica para evitar errores de digitación y posterior búsqueda.

Por ejemplo, cuando usted es un cliente frecuente de la empresa X, al momento de


generarle la factura simplemente le preguntan su número de cedula, con este número
sabrán su nombre, sus datos personales y las compras que ha realizado en la empresa;
en este caso, el campo primario seria la cedula, su cedula es única el país y todos, sin
excepción, debemos tener una, por lo cual se puede tomar como un campo obligatorio
que se convierte en campo primario.
5.2.1.2 Campos foráneos

Los campos foráneos son los que unen a una entidad con otra entidad, formando una
extensión de la tabla fuente. Según (Torres, 2012) en una entidad se pueden tener
muchos campos claves, si consideramos que toda entidad tiene un campo clave, el
foráneo se enlazara justamente con este campo.

5.2.2 Registro

Representa el conjunto de valores asociados a un campo primario. En el ejemplo


plasmado en la Ilustración 1, el campo primario seria el código y los registros serían los
datos asociados a este código, por ejemplo; para el código 126 (campo primario), el
conjunto de datos asociados, son: Lopera, Diego, 2226030, diego.lopera@umb.edu.co ,
Av Circunvalar No 60 – 00 y 2 semestre.

Ilustración 3. Registros de una tabla

5.2.3 Dato

Es un valor dentro de la tabla que por sí solo no representa nada, y que requiere de una
asociación con el campo primario para tener alguna validez.

Ilustración 4. Datos de una tabla


5.3 Usuarios de una base de datos

La etapa de diseño de bases de datos inicia con dos actores principales, el usuario final
y el grupo de ingenieros que hara la ingenieria de requerimientos para el diseño de la
base de datos.

En principio los usuarios finales hacen un listado de todas las cosas que se deben
incluir en un sistema de informacion, muchos de los aspectos escensiales del sistema
no seran contemplados en un principio, pero luego en la etapa de puesta en marcha del
sistema se iran incluyendo y perfeccionando todos estos aspectos.

Del levantamiento de informacion que haga en esta primera etapa los ingenieros de
requerimientos dependera el éxito o fracaso de esta base de datos, por esto, es
importante estar atentos a cualquier aspecto que mencione el usuario final.

Posterior al diseño y puesta en marcha de la base de datos apareceran los siguientes


usuarios; Administrador de la base de datos, programador de aplicaciones y
nuevamente el usuario final.

o Administrador de la base de datos: El administrador de bases de datos o tambien


conocido como DBA (Data Base Administrator) es la persona encargada de recibir
la base de datos luego de la etapa de analisis y diseño para su implementacion en
un sistema de gestion de bases de datos como; MySQL, Oracle, SQL Server, entre
otros. Algunas de las responsabilidades de este profesional son:

 Especificacion logica de la base de datos.


 Especificacion fisica de la base de datos.
 Definicion de seguridad
 Definir procedimiento de respaldo.
 Implementar reglas de integridad
 Monitorear el rendimiento de la base de datos.

o Programador de aplicaciones: Este actor conoce los requerimientos establecidos


en la etapa de Análisis y Diseño, los prototipos y la estructura de
almacenamiento que se dara a la base de datos. El programador de aplicaciones
genera las aplicaciones necesarias en el sistema para la obtencion de las
entradas de la informacion al sistema, tambien estructura las salidas del sistema
de informacion.
o Usuario final: Este actor es el que interactua directamente con el sistema de
informacion creado, es el que menos conocimiento tecnico tiene, por lo cual es
importante que la interfaz desarrollada por el programador de aplicaciones sea
fácil de usar para este usuario.

5.4 Seguridad de la base de datos

Según (Reinosa, Maldonado, Muñoz, Damiano, & Abrutsky, 2012) la base de datos mas
segura es aquella que no tiene usuarios, pero esta situacion carece de sentido, por esta
razon se debe llegar a un balance entre el permiso de acceso a los usuarios y el control
de lo que se les permite hacer cuando establecen una sesion a traves de una conexión.

La seguridad es un aspecto muy importante en cualquier sistema de informacion. Para


el caso de las bases de datos la seguridad es responsabilidad del DBA (Data Base
Administrator) o de un administrador de seguridad, estos administradores deben
garantizar que cada usuario tenga roles bien definidos dentro del sistema y asi mismo
se le asignen ciertos privilegios dentro de este.

Basado en los RFC 2196 y 1244, (Cortelli, 2006) sugiere hacer un analisis de riesgos
puntual para la compañía en la cual se trabaja el sistema de informacion y con base en
eso crear un plan de seguridad y un plan de contingencia que permita a la empresa
desarrollar sus actividades normales sin ninguna afectacion. Véase la ilustración 5.

Ilustración 5. Análisis de riesgos.


Fuente: Tomado de http://www.iso27000.es/download/ISO-27001_Los-
controles_Parte_I.pdf
El primer item definido en la ilustracion 5 es la politica de seguridad la cual esta definida
dentro del marco estrategico de la organización, es importante que los administradores
de seguridad de la compañía articulen su trabajo y a la vez logren la aceptacion de sus
propuestas a nivel de plan de seguridad en la compañía por parte de los altos mandos
de la misma, sin la aprobacion de estos, el plan de seguridad ideado no tendria
funcionalidad en la empresa.

En un segundo lugar dentro de la ilustracion se encuentra el analisis de riesgos que


hace referencia a los eventos que pueden ocurrir al interior de la organización y que
pueden afectar la seguridad, integridad y estabilidad del sistema de informacion.

Luego, se encuentra el grado de exposicion en el cual se determina el impacto que


puede producir la clasificacion de informacion que se hace de acuerdo a los roles dentro
del funcionamiento del sistema de informacion.

Por ultimo, se encuentra el plan de seguridad en el cual se debe dejar plasmado los
aspectos que debe contemplar el usuario al momento de acceder a la informacion del
sistema para que no ponga en peligro la seguridad e integridad de la informacion. El
plan de contingencia hace referencia a las medidas que se toman para garantizar
continuidad en el acceso a la informacion.

Algunos de los aspectos que se deben considerar para brindar seguridad a las bases
de datos, son:

o Asignar a cada usuario de sistema los privilegios de uso pertinentes.


o Determinar un rol a cada usuario para asi administrar el acceso a los datos.
o Modificar contraseñas en periodos de tiempo prudenciales.

Cada empresa de la industria ha establecido una serie de recomendaciones para los


usuarios de sus productos, para el caso de Oracle, según (Reinosa, Maldonado, Muñoz,
Damiano, & Abrutsky, 2012) se deben contemplar los siguientes aspectos:

o Autenticacion de contraseñas, que puede basarse en el Sistema Operativo que


aloja el sistema de gestion de bases de datos o usar el sistema propio de
autenticacion de la base.
o Control de que objeto de la base de datos se pueda acceder y por cual grupo de
usuarios.
6. SISTEMAS DE GESTION DE BASES DE DATOS

Los Sistemas de gestión de bases de datos o Database Management System (DBMS)


se puede definir como una capa de software que ejerce el control sobre los accesos a la
base de datos. Los DBMS no son creados para necesidades particulares de una
empresa específica, sino para todos los sistemas en general.

En los sistemas de gestión de bases de datos se pueden ejecutar instrucciones dadas


por los distintos usuarios, estas instrucciones se agrupan de la siguiente forma:

o DDL o Lenguaje de definición de datos:

Es la parte de SQL que se dedica a la definición de la base de datos y permite


definir la estructura de la misma. DDL permite definir gran parte de la
configuración interna de la base de datos, por lo cual, por lo general estas
sentencias son responsabilidad del administrador de la base de datos.

Algunas de las sentencias utilizadas en DDL, son: CREATE, ALTER, DROP y


TRUNCATE. Estas sentencias se utilizan sobre los siguientes objetos; Bases de
datos, tablas, vistas e índices.

o DML o Lenguaje de manipulación datos: Las sentencias descritas en DML son


utilizadas para editar o modificar datos existentes en una base de datos, por
ejemplo cuando se desea insertar un nuevo estudioso, modificar su dirección o
cambiar su correo electrónico. En otras palabras las sentencias de lenguaje de
manipulación de datos son utilizadas para gestionar datos dentro de las bases de
datos existentes, algunas de las sentencias utilizadas para manipulación, son;
SELECT, INSERT, UPDATE y DELETE.

o DCL o Lenguaje de control de datos: Según (Torres, 2012) son ordenes que se
utilizan para implementar seguridad en la base de datos, como por ejemplo
indicar que privilegios –insertar, modificar,etc.- tiene cada usuario respecto a los
distintos objetos de la base de datos.

6.1 Aplicaciones

o Bancos: Los bancos utilizan estos sistemas para alojar información de los
clientes; cuentas bancarias, préstamos y transacciones en general.
o Aerolíneas: Las aerolíneas utilizan los DBMS para consultar frecuencia y horarios
de vuelos, hacer reservas y vender tiquetes de vuelos.
o Universidades: Las instituciones educativas utilizan estos sistemas para ingresar,
modificar y consultar información de estudiantes y/o docentes, cursos, horarios,
información financiera, etc.
o Telecomunicaciones: En el área de telecomunicaciones, se utilizan las bases de
datos para almacenar información de los usuarios, su localización e información
acerca de su disponibilidad, también para asignar o no minutos y/o Kbps de
acuerdo al uso que haya dado de los mismo en el periodo de facturación.
o Ventas: En el área de ventas de cualquier compañía se utilizan las bases de
datos para almacenar información de los clientes, productos y/o compras y
ventas que se hacen.
o Comercio en línea: En el comercio en línea las bases de datos se utilizan para
hacer seguimiento a los clientes y seguimiento a los pedidos web.
o Producción: En las áreas productivas de diversas empresas, las bases de datos
se emplean para mantener un control de la materia prima y de los elementos
finales creados.
o Recursos humanos: El área de recursos humanos de las compañías utiliza las
bases de datos para almacenar información de los empleados, salarios,
impuestos sobre sueldos, prestaciones sociales, etc.

6.2 Funciones y responsabilidades de un DBA

Como se menciono en apartados anteriores el DBA (Data Base Administrator) es el


responsable de la operación y disponibilidad de la base de datos, el DBA puede trabajar
solo o puede tener personas a cargo que le ayuden a garantizar que la informacion este
siempre disponible.

A continuacion se describen algunas de las funciones del DBA.

o Especificacion logica de la base de datos: Recibe la base de datos luego de la


etapa de Analisis y Diseño, determina cuales son las entidades, registros y datos
que incluye la base de datos.

o Especificacion fisica: El Administrador de la base de datos debe definir donde se


almacenara la informacion, cintas, discos, servidores, en la nube, entre otros y
asi mismo debe definir como se accedera a los datos de la base de datos.
o Definición de seguridad: El DBA debe determinar los usuarios y/o grupos de
usuarios que van a acceder al sistema con sus respectivos perfiles. Por ejemplo,
para una base de datos de una sucursal de un banco, existiran grupos de
usuarios; clientes, cajeros, subdirectores y directores de sucursales, los clientes
no tendran acceso a la base de datos, los cajeros podran visualizar informacion
de los clientes mas no visualizar informacion del banco y los subgerentes y
gerentes podran visualizar toda la informacion que alberga el sistema de
informacion, de acuerdo a esto se crean los privilegios para acceder a la
informacion de cada uno de los grupos de usuarios definidos.

o Definir procedimiento de respaldo: Es responsabilidad del DBA que los datos


tengan respaldo, es decir, que en caso de que se presente una situacion
anomala al funcionamiento de la base de datos, otros medios fisicos y/o logicos
esten respaldando el sistema. Estos sistemas deben tener la misma informacion
que el sistema de informacion original. Por ejemplo en Colombia varios
proveedores de servicios de Telecomunicaciones ofrecen servicios de respaldo,
alojando servidores en datacenter ubicados en X ciudad y configuran servidores
de respaldo en datacenter de otras ciudades, en dado caso que en la ciudad X
ocurra un incendio, un terremoto, una caída en el fluido eléctrico, la informacion
siempre va a estar disponible en los servidores de la otra ciudad.

o Implementar reglas de integridad: Es responsabilidad del DBA garantizar que los


datos que se vayan a incluir en la base de datos estén limitados por politicas
específicas de la compañía y que las personas que van a acceder a la
informacion alojada en la base de datos tengan algún vínculo con la compañía.
Por ejemplo en algunos Colegios de Bogota se evalua con nota del 0 – 5,
mientras que en otros colegios aun se evalua con las tradicionales notas E,B,A,I,
el DBA debe garantizar que las entradas del sistema sean las adecuadas según
las politicas de la compañía.

o Monitorear el performance de la base de datos: Es responsabilidad del DBA


monitorear el rendimiento de la base de datos, evaluar los procesos que puedan
generar demora en la devolucion de la informacion para garantizar
continuamente un buen rendimiento.
6.3 Objetivos de los sistemas de gestión bases de datos

Según (Torres, 2012) los objetivos fundamentales de los Sistemas de Gestion de Bases
de Datos son;

o Independiencia de los datos y los programas de aplicación, la cual permite


manipular la informacion desde diferentes aplicaciones y tener el control sobre
los datos para modificar, consultar y/o eliminar desde distintos lenguajes de
programacion (Visual Basic, PHP,entre otros).

o Minimizacion de la redundancia, que hace referencia a la necesidad de no


duplicar informacion en la base de datos, esto se logra optimizando los tiempos
de acceso hacia los datos.

o Integración y sincronización de las bases de datos, que hace referencia a la


capacidad del sistema para modificar la informacion en un periodo de tiempo
corto para que desde otros puntos de informacion se puedan hacer consultas
actualizadas y veridicas.

Por ejemplo, en Colombia hay muchos puntos de venta de ARMI/PRONTO, los


cajeros cuentan con un sistema de inventario de prendas por tiendas, si usted
pregunta por una chaqueta de referencia X que no esta en la tienda a la cual
usted visita, ellos le sugieren dirigirse a la tienda Y o Z en las cuales si esta
disponible la chaqueta, esto lo pueden hacer ya que la integracion de informacion
y sincronizacion de este sistema es bueno y confiable, sino lo fuera al momento
de usted ir a la tienda Y o Z es posible que no encuentre la chaqueta que busca,
ya que la información que le dieron no es veridica.

o Seguridad y recuperacion: La descripcion de los tareas que se deben contemplar


para que la base de datos sea segura se describen en el apartado 5.4.

o Facilidad de manipulacion de la informacion, que hace referencia a la facilidad de


la interfaz visual del Sistema de Gestion de Bases de Datos para la manipulacion
de la informacion de parte del usuario final.

o Control centralizado: Este objetivo pretende garantizar que los Sistemas de


Gestion de Bases de Datos tengan el control centralizado de la informacion que
permita comprobar todos los datos que se almacenan en el sistema de
informacion.
7. SQL

7.1 Tipos de datos

SQL brinda una serie de datos que permiten almacenar información, es importante
analizar previamente cada uno de estos datos y asignar el tipo correcto a la variable
que almacenara información.

Los datos en SQL se pueden clasificar en; caracteres, enteros, binarios, entre otros. A
continuación se hará una breve explicación de cada uno de estos tipos de datos.

7.1.1 Tipos de datos carácter

Este tipo de datos contiene una combinación de letras, símbolos y número. Los datos
tipo carácter se puede clasificar en; Char, Varchar y Text.

Ilustración 6. Tipo de datos carácter


Como se puede apreciar en la ilustracion 6, para el ejemplo del dato tipo char (Número
telefónico) se tiene un dato con longitud fija, en este caso 7 digitos, por el contrario para
el ejemplo del tipo de dato Varchar el dato a almacenar es un nombre de longitud
variable, con muchas o pocas letras, por lo cual se recomienda utilizar un aproximado
de 60 caracteres para su definicion.
7.1.2 Tipos de datos binarios

Este tipo de datos almacena cadena de bits, consiste en el almacenamiento de


números hexadecimales. Los datos de tipo binario se pueden clasificar en; Binary,
varBinary e Image.

Ilustración 7. Tipos de datos binarios

7.1.3 Tipos de datos fecha

Este tipo de dato almacena información alusiva a la fecha, partiendo de unos formatos
estándar preestablecidos. Los datos de tipo fecha se pueden clasificar en; DateTime,
SmallDateTime, DateTime2, Time, Date y DateTimeOffset.
Ilustración 8. Tipos de datos fecha

7.1.3 Tipos de datos decimal

Este tipo de datos almacena información significativa luego del punto de un número
decimal. Los datos de tipo decimal se pueden clasificar en; Decimal y Numeric.

Ilustración 9. Tipos de datos decimal


7.1.4 Tipos de datos punto flotante

Los datos representados en la notación punto flotante son una forma de notación
científica muy utilizada en pequeños y grandes ordenadores, a través de la cual se
puede representar números reales muy grandes o muy pequeños de manera óptima
para el sistema el cual se esté utilizando. Este tipo de datos se puede clasificar en;
Float y Real.

Ilustración 10. Tipos de datos punto flotante

7.1.5 Tipos de datos entero

Los datos tipo entero son aquellos que representan un subconjunto finito de números
enteros, siendo estos positivos o negativos. Este tipo de datos se puede clasificar en;
BigInt, Int, Smallint y Tinyint.
Ilustración 11. Tipo de datos entero

7.1.6 Tipo de datos monetario

Este tipo de dato representa cantidades monetarias positivas y/o negativas, se puede
clasificar en; Money y SmallMoney.

Ilustración 12. Tipos de datos monetario


8. TABLAS

Las tablas o entidades son objetos compuestos de filas y columnas que almacenan
informacion del mundo real en forma logica. En la tabla las caracteristicas de una
entidad estan representadas por columnas, mientras que las filas son los datos que se
ingresan para describir cada una de estas caracteristicas.

8.1 Creación de tablas

En todas las tablas se debe definir un campo llave el cual sera el encargado de
representar la tabla frente a las demas tablas y a su vez asociarlas.

La sintaxis empleada para crear una tabla es;

CREATE TABLE <nombre_de_la tabla>


(<1era caracteristica entidad> <tipo de dato 1era caracertistica entidad>,
<2da caracteristica entidad> <tipo de dato 2da caracertistica entidad>,
…)

Ejemplo: Se desea crear una tabla que almacene los datos personales de los
estudiosos del programa Ingenieria de software de la UMB Virtual.

Como primera medida se define el nombre de la tabla, el cual debe ser afin al proceso
que estamos elaborando, en este caso la tabla se denominara estudiosos.

Posteriormente se hace un listado de los atributos que se desea almacenar en la tabla,


en este caso los atributos son los siguientes;

o Nombre
o Cedula de ciudadania
o Telefono fijo
o Telefono movil
o Correo electronico
o Usuario en facebook
o Usuario en twitter

Una vez se tenga claro los atributos que se van a incluir en la tabla, se debe determinar
el tipo de dato declarado para cada uno de estos atributos, para esto se pueden remitir
al apartado 7.1.
o Nombre: Teniendo en cuenta que no se puede decir que el numero de caracteres
de los nombres de todos los estudiosos es de 30, 40 o 50, ya que todos tienen
diferentes nombres y apellidos se puede decir que es una variable tipo
VARCHAR y que almacenara un máximo de 60 caracteres.

o Cedula de ciudadania: Las cedulas de ciudadania para el caso de Colombia se


enumeran con numeros enteros que no exceden los 10 digitos, por lo cual se
podria definir esta variable como un tipo de datos Int.

o Teléfono fijo: La UMB Virtual tiene estudiosos en todos los municipios de


Colombia por lo cual se debe tener en cuenta que no basta con colocar los
telefonos fijos, sino que tambien se debe incluir el indicativo del municipio al cual
pertenece el estudioso, por esta razon se puede decir que que el telefono fijo
puede corresponder a un tipo de datos Int de 8 caracteres (15460600) o a un tipo
de datos Char de 11 caracteres (1-546-06-00).

o Telefono movil: Al igual que para el atributo telefono fijo, se puede definir como
Int o Varchar, de acuerdo a las condiciones de la entrada de la informacion.

o Correo electronico: El correo electronico es un dato que incluye letras, numeros y


simbolos, no tiene una longitud definida, ya que esto depende del usuario de
cada estudioso, por lo cual se puede definir como Varchar y se puede asignar
una longitud de 20 o 30 caracteres.

o Usuario en facebook y usuario en twitter: Al igual que el correo electronico, no


tiene una longitud fija definida y puede mezclar letras, numeros y simbolos, por lo
cual se recomienda dejar el tipo de dato Varchar con una capacidad de
caracteres de 20.

Tomando en cuenta la asignacion de tipo de datos que se hizo anteriormente, se puede


crear la tabla de la siguiente manera;

CREATE TABLE estudiosos


(nombre varchar(60),
Cedula Int,
Telefono char(8),
Movil varchar(13),
Email varchar(20),
Twitter varchar(10),
Facebook varchar(10));
Es importante tener en cuenta cuales seran los campos de diligenciamiento obligatorio y
cuales no, asi mismo cuales seran los campos que relacionaran esta tabla con las
demas tablas de la base de datos. A continuacion se mencionaran las reestricciones
que se deben contemplar para la definicion de atributos en la base de datos.

8.1.1 Reestricciones

Las reestricciones se aplican para dar consistencia al valor que se registrara en cada
una de las columnas, algunas de ellas son;

PRIMARY KEY: Todas las tablas contienen una llave primaria y esta corresponde al
campo con el que se va a identificar los datos de los registros de una tabla. Por
ejemplo, en el caso de la tabla de estudiosos la llave primaria es la cedula de
ciudadania, ya que es posible que varios estudiosos tengan el mismo nombre o tal vez
los mismos apellidos, pero el documento de identidad es unico y es el cual lo identifica
dentro de la tabla y el sistema.

La forma de definir la cedula del estudioso como llave primaria, es la siguiente;

CREATE TABLE estudiosos


(nombre varchar(60),
Cedula Int PRIMARY KEY,
Telefono char(8),
Movil varchar(13),
Email varchar(20),
Twitter varchar(10),
Facebook varchar(10));

FOREIGN KEY: La llave foranea, es la misma llave primaria de la tabla estudiosos pero
actuando en otra tabla, por ejemplo en la tabla pagos. Vease la creacion de la tabla
pagos.

CREATE TABLE pagos


(ODM Int PRIMARY KEY,
Cedula Int,
Semestre Int,
Valor_matricula Int
FOREIGN KEY(Cedula) REFERENCES estudiosos1(Cedula));
Para este caso se utiliza la cedula del estudioso para asociar los valores generados y
pagados a partir de una orden de matricula a su estado financiero en el sistema.

NOT NULL: Esta reestriccion permite definir un campo como obligatorio, al colocar a un
atributo la reestriccion NOT NULL el sistema no permite dejar este campo en blanco.
Para el ejemplo que se esta manejando de la tabla de estudiosos, es indispensable
tener el correo electronico del estudioso, ya que de otra forma no se le puede asociar
un perfil a la plataforma. La definicion de un campo como NOT NULL se hace de la
siguiente manera.

CREATE TABLE estudiosos


(nombre varchar(60),
Cedula Int PRIMARY KEY,
Telefono char(8),
Movil varchar(13),
Email varchar(20) NOT NULL,
Twitter varchar(10),
Facebook varchar(10));

o UNIQUE: Esta reestriccion obliga a que no hayan valores repetidos en una


columna.

8.2 Modificación de tablas

Luego de crear las tablas, posiblemente se deba cambiar la estructura de las mismas,
para esto se recurre al comando ALTER TABLE.

Las situaciones más frecuentes en las cuales se hace necesario cambiar la estructura
de las tablas son;

o Adicionar columna (ADD)


o Borrar columna (DROP)
o Modificar el nombre de una columna (CHANGE)
o Modificar el tipo de dato de un atributo (MODIFY)
8.2.1 Adicionar columna

Para adicionar una columna en determinada tabla, debe ejecutar el siguiente comando:

ALTER TABLE <nombre_tabla> ADD <nombre_columna> <tipo_dato>;

Ejemplo: Se desea adicionar una columna en la tabla estudiosos1, la columna se


denominara semestre.

Ilustración 13. Tabla estudiosos1 (MySQL)

Reemplazando los valores de la sintaxis anterior, se puede determinar que el comando


que se debe utilizar es el siguiente;

ALTER TABLE estudiosos1 ADD semestre int;

Ilustración 14. Adición de columna a tabla estudiosos1 (MySQL)

8.2.2 Borrar columna (DROP)


Para borrar una columna en determinada tabla, debe ejecutar el siguiente comando:

ALTER TABLE <nombre_tabla> DROP <nombre_columna>;

Ejemplo: Se desea eliminar la columna semestre de la tabla estudiosos1, para hacerlo


se utilizara el siguiente comando:

ALTER TABLE estudiosos1 DROP semestre;

8.2.3 Modificar el nombre de una columna (CHANGE)

Para modificar el nombre de una columna de una tabla en mysql se debe ingresar la
siguiente sintaxis:

ALTER TABLE <nombre_tabla> CHANGE <nombre_actual> <nombre_con_cambio>


<tipo_dato>;

Ejemplo: Se desea cambiar la denominación de la columna nombre por Name en la


tabla estudiosos1.

Reemplazando los valores en la sintaxis anterior, se obtiene lo siguiente:

ALTER TABLE estudiosos1 CHANGE nombre Nombre varchar (50);

Luego de ingresar el comando en la configuración de la tabla estudiosos1, se obtiene


los siguientes resultados.

Ilustración 15. Modificación nombre columna (MySQL)


8.2.4 Modificar el tipo de dato de un atributo (MODIFY)

Para modificar el tipo de dato a un atributo, se debe emplear la siguiente sintaxis:

ALTER TABLE <nombre_tabla> MODIFY <nombre_atributo> <tipo_dato>;

Ejemplo: Se desea cambiar en la tabla estudiosos1 el tipo de datos del atributo teléfono
de carácter a entero. Reemplazando los valores en la sintaxis anterior, se obtiene el
siguiente comando.

ALTER TABLE estudiosos1 MODIFY telefono int;

Luego de ingresar el comando en la configuración de la tabla estudiosos1, se obtiene


los siguientes resultados.

Ilustración 16. Modificación tipo de dato atributo (MySQL)

8.3 Borrado de tablas

SQL permite eliminar tablas que fueron creadas con anterioridad, esto se hace
mediante el uso del siguiente comando:

Para eliminar una tabla en MySQL, es necesario definir la base de datos donde se
encuentra y posteriormente eliminarla. Para definir la base de datos en donde se está
trabajando la tabla, se usa el siguiente comando:

USE <nombre_base_datos>;

Luego se valida que la tabla exista dentro de la base de datos elegida, esto se hace
mediante el siguiente comando:
SHOW TABLES;

Finalmente, para eliminar una tabla se digita la siguiente sintaxis:

DROP TABLE <nombre_tabla>;

Ejemplo: Se desea eliminar la tabla estudiosos, almacenada en la base de datos


denominada umbvirtual.

Como primera medida se debe seleccionar la base de datos umbvirtual, a través del
comando use umbvirtual; , luego se debe solicitar el listado de las tablas existentes en
esta base de datos a través del comando show tables; , y por último se elimina la tabla
haciendo uso del siguiente comando drop table estudiosos.

Ilustración 17. Borrado de tablas (MySQL)


9. EJERCICIOS DIDACTICOS

1. Realice un mapa conceptual en el cual describa los aspectos básicos de un


sistema de gestión de bases de datos; definición, historia, características,
componentes y arquitectura. Incluya en el mapa conceptual también los
sistemas de gestión de bases de datos más conocidos (Oracle, Microsoft SQL
Server, Informix, MySQL, Microsoft Access, DB2) y sus principales
características.

2. Plantee en un notepad las sentencias que utilizaría para ejecutar los siguientes
ejercicios en SQL.

2.1 Hamburguesas Presto S.A, requiere incorporar a su base de datos una tabla
que incluya todos los datos de sus clientes. Una vez cree la tabla, haga los
siguientes ajustes;

 Defina la llave primaria y secundaria y explique la funcionalidad de cada una de


estas.
 Adicione una columna a la tabla ya creada.
 Borre una de las columnas creadas con anterioridad.
 Modifique el nombre de una columna.
 Modifique el tipo de dato de un atributo.

2.2 Crear una tabla que le permita almacenar las notas de tercer semestre del
programa Ingenieria de software de todos los estudiosos.

2.3 Borrar las siguientes tablas: empleados, estudiosos y carros.


10. GLOSARIO

DBA (Data base Administrator): Es el profesional responsable de administrar la


información almacenada en una base de datos, garantizando la integridad y seguridad
de dicha información.

Índices: Un índice es una estructura de una base de datos que permite mejorar la
velocidad de las operaciones a través de un identificador único de cada fila de la tabla.

ISO 27000: Según (ICONTEC Internacional, s.f), el estándar para la seguridad de la


información ISO/IEC 27001 especifica los requisitos necesarios para establecer,
implementar, mantener y mejorar un Sistema de Gestión de la Seguridad de la
información (SGSI).

MySQL: Sistema de gestión de bases de datos multihilo, multiusuario y relacional,


desarrollado como software libre y actualmente con licenciamiento dual; GNU GPL y
licenciamiento privativo.

Oracle: Es un sistema de gestión de bases de datos desarrollado por Oracle


Corporation, se considera como uno de los sistemas más completos del mercado,
reconocido por el soporte de transacciones, estabilidad, escalabilidad y soporte
multiplataforma.

Vistas: Según (Wikipedia, 2013), una vista es una consulta accesible como una tabla
virtual en una base de datos relacional o en un conjunto de documentos en una base de
datos orientada a documentos.
BIBLIOGRAFIA

Blog Historia de la Informática. (4 de Enero de 2011). Recuperado el 13 de Junio de


2014, de Blog Historia de la Informática:
http://histinf.blogs.upv.es/2011/01/04/historia-de-las-bases-de-datos/

Aulaclic. (Febrero de 2010). Unidad 8. El DDL, Lenguaje de Definición de Datos.


Recuperado el 13 de Junio de 2014, de Unidad 8. El DDL, Lenguaje de
Definición de Datos: http://www.aulaclic.es/sqlserver/t_8_1.htm

ICONTEC Internacional. (s.f). ICONTEC Internacional. Recuperado el 13 de Junio de


2014, de ICONTEC Internacional:
http://www.icontec.org/index.php/es/sectores/agricultura-y-alimentos/50-
colombia/certificacion-sistema/342-certificacion-iso-iec-27001

Reinosa, E., Maldonado, C. A., Muñoz, R., Damiano, L. E., & Abrutsky, M. A. (2012).
Bases de datos. Bogota: Alfaomega Colombiana S.A.

Roldán, D., Valderas, P., & Martinez, E. (2011). Oracle Guía básica. España: Ediciones
de la U.

Silberschatz , A., Korth, H., & Sudarshan, S. (2006). Fundamentos de bases de datos
(5a. ed.). España: McGraw-Hill España .

Torres, M. A. (2012). SQL Server 2012. Lima: MACRO empresa editora.

WEBGRAFIA

http://es.wikipedia.org/wiki/Imprenta

http://es.wikipedia.org/wiki/Anexo:Historia_de_la_computación

http://msdn.microsoft.com/es-es/library/ms179882.aspx

http://www.iso27000.es/download/ISO-27001_Los-controles_Parte_I.pdf

http://carlosjacobo.wordpress.com/sgbd-comerciales/

http://dev.mysql.com/doc/refman/5.0/es/innodb-foreign-key-constraints.html
http://office.microsoft.com/es-hn/access-help/crear-una-restriccion-adp-
HP003088257.aspx

http://www.1keydata.com/es/sql/sql-create-table.php

http://es.wikipedia.org/wiki/Vista_(base_de_datos)

También podría gustarte