Está en la página 1de 92

1.

QUE ES UNA BASE DE DATOS:

Conjunto estructurado de datos registrados e soportes accesibles por ordenador para satisfacer
simultáneamente a varios usuarios de forma selectiva y en tiempo oportuno”, (Delobel, 1982).

2. QUIENES USAN UNA BASE DE DATOS:


Usuarios normales. Son usuarios no sofisticados que interactúan con el sistema mediante un
programa de aplicación con una interfaz de formularios, donde puede rellenar los campos apropiados
del formulario.

Programadores de aplicaciones. ​Son profesionales informáticos que escriben los programas de


aplicación, utilizando herramientas para desarrollar interfaces de usuario, como las herramientas de
desarrollo rápido de aplicaciones (DRA)​, que facilitan crear los formularios e informes sin escribir
directamente el programa.

Usuarios sofisticados. ​Interactúan con el sistema sin programas escritos, usando el lenguaje de
consulta de base de datos para hacer sus consultas. Usando ellos las herramientas de
procesamiento analítico en línea ​(​OLAP, OnLine Analytical Processing​), o herramientas de
recopilación de datos​.

Usuarios especializados. ​Son usuarios sofisticados que escriben aplicaciones de bases de datos
especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones
están los sistemas de diseño asistido por computadora, sistemas de base de conocimientos y
sistemas expertos, sistemas que almacenan datos de tipos de datos complejos (como gráficos y de
audio) y sistemas de modelado de entorno.

Administradores ​de la base de datos (ABD). Son las personas que tienen el control central del
SGBD. Entre las funciones del ABD se encuentran:

● Definición del esquema de la base de datos.


● Definición de la estructura y el método de acceso.
● Modificación del esquema y la organización física.
● Concensión de autorización para el acceso a los datos.
● Mantenimiento rutinario.

3. PORQUE USAR UNA BASE DE DATOS:

Es compacto: no ocupa mucho espacio.


Es rápido: se puede obtener y modificar la información con mucha mayor velocidad sin necesidad de
manuales.
Es menos laborioso: elimina los archivos a mano la tareas mecanicas siempre seran mejor realizadas
por una maquina.
Es actual: se encuentra en cualquier momento la información precisa y al dia.
Es cómoda: al tener la información en un mismo sitio ahorraremos tiempo y trabajo.

4. EJEMPLO DE BASE DE DATOS:

Sistema de Nómina: La información correspondiente a empleados, puestos y sueldos se encuentra


relacionada y organizada de manera que se pueda realizar el pago de la nómina con seguridad.
5.SIMBOLOGÍA USADAS EN BASE DE DATOS:

6. QUE ES UN GESTOR DE BASE DE DATOS:

Son un tipo de software muy específico, dedicado a


servir de interfaz entre la base de datos, el usuario y
las aplicaciones que la utilizan.

1. DATO.- es una unidad mínima.

2. INFORMACION.- es el conjunto de datos estructurados.


3. CAMPO.- ​es la mínima unidad de información a la que se puede acceder,forman un
registro.pueden ser numericos alphanumericos y simbolos

4. REGISTRO.- ​es un conjunto de


campos que contienen los ​datos​ que pertenecen a una misma repetición de entidad.

5. FICHERO.- ​es el soporte en el que se encuentren almacenados o registrados los datos.

6. ARCHIVO.- es el
conjunto de campos y
registros tambien es conocido como fichero.
Un ​archivo​ o fichero es un conjunto de información binaria; es decir, un conjunto de información
compuesta de solo dos cifras: 0 y 1. Este archivo puede almacenarse para mantener un registro de
esta información. (​https://es.ccm.net/contents/646-que-es-un-archivo​).

Ejemplo:
7. TUPLA: ​ Conjunto de elementos de distinto tipo que se guardan de forma consecutiva en memoria.
(​http://bere-basededatos.blogspot.com/2012/04/que-es-una-tupla.html​).

se refiere a que podemos tener diferentes datos y esto se puede guardar en forma rapido una tras
otra en la base de datos.
EJEMPLO:

8. QUE ENTIDAD.- ​una entidad (o instancia) como una unidad de una base de datos que contiene
información. Esta unidad es una representación dentro de la base de datos de un objeto, persona,
empresa... etc, del mundo real,
... Fuente ​https://www.mastermagazine.info/termino/4896.php

entendemos como un objeto que sabemos que existe pero no se puede ver y se la puede representar
con una base de datos.
Ejemplo:

9. ATRIBUTOS.- son las características por


medio de los cuales se puede describir una
entidad. (​www.taringa.net/posts/apuntes-y-monografias/13706428/Atributos-bases-de-datos.html​)

explica que da las cualidades según la entidad que deseamos describir decimos que un atributo es la
descripción de un objeto según la entidad.
Ejemplo:
10. ​TIPOS DE ENTIDADES:

● E​l tipo de la instancia puede ser el mismo que el tipo de entidad en el que se basa el
conjunto de entidades, o un subtipo del tipo de entidad.
● El ​clave de entidad​ para la instancia es única en el conjunto de entidades.
● La instancia no existe en ningún otro conjunto de entidades.
● Nota
● Se pueden definir varios conjuntos de entidades usando el mismo tipo de entidad, pero
una instancia de un tipo de entidad determinado solo puede existir en un conjunto de
entidades.

No es necesario definir un conjunto de entidades para cada tipo de entidad de un modelo conceptual.

Ejemplo

El diagrama siguiente muestra un modelo conceptual con tres tipos de entidades: ​Book​,
Publisher​ y ​Author​.

El diagrama siguiente muestra dos conjuntos de entidades (​Books​ y P ​ ublishers​) y un conjunto


de asociaciones (​PublishedBy​) basados en el modelo conceptual mostrado anteriormente. BI
en el ​Books​ conjunto de entidades representa una instancia de la ​Book​ tipo de entidad en
tiempo de ejecución. De forma similar, Pj representan un ​Publisher​ de instancia de la
Publishers​ conjunto de entidades. BiPj representa una instancia de la ​PublishedBy​ asociación
en el ​PublishedBy​ conjunto de asociaciones.

11.TIPOS DE ATRIBUTOS:

Campos Opciones básicas adicionales


Los atributos Selección única – Base de datos también tienen las opciones básicas
siguientes.

Campo Descripción

Filtrar nombre de tabla Valor que se utiliza para filtrar la lista desplegable de nombres de
de base de datos tabla para el campo Usar valores de esta tabla de base de datos.
Sólo las tablas de búsqueda que contengan el texto especificado
en sus nombres de tablas se incluyen en la lista. Si este campo
está vacío, la lista contiene todas las tablas de búsqueda de la
base de datos.

Usar valores de esta Seleccione la tabla que contiene los valores que desea que
tabla de base de datos visualicen los usuarios.

Columna clave Seleccione la clave primaria de la tabla.

Visualizar columna Seleccione la columna de la base de datos que contiene los


valores que desea que aparezcan en el formulario.

Ordenar por columna Seleccione la columna que determina el orden de la lista cuando se
muestra en el formulario.

Ascendente / Seleccione el orden de clasificación para la lista.


Descendente

Este campo depende Para hacer que los valores que aparecen en esta lista dependan de
de la siguiente la selección que el usuario realiza para otro campo, seleccione el
columna recuadro de selección y especifique la columna de base de datos
de la lista desplegable. Esta opción no está disponible en los
atributos globales.

Campo Opciones de atributos de cuadrícula adicionales


El atributo Selección única – Base de datos también tiene la misma opción de cuadrícula:

Campo Descripción

No guardar en caché Selecciónelo para que la lista de opciones se actualice cada vez que
los valores de un usuario guarde o renueve la cuadrícula.
búsqueda

Campos Opciones de visualización adicionales


El atributo Selección única – Base de datos también tiene las mismas opciones de
visualización:

Campo Descripción

Valor predeterminado Seleccione un valor predeterminado para el atributo, o deje este


para el campo campo en blanco si no desea tener un valor predeterminado para
el atributo. (La lista contiene todos los valores de la columna de
base de datos que se especifica en el campo Visualizar columna.)
12. CARACTERISTICAS DE UNA BASE DE DATOS:
Integridad:  La  integridad  de  la  base  de  datos  se  refiere  a  la  validez  y  la  consistencia  de  los  datos 
almacenados.  Normalmente,  la  integridad  se  expresa  mediante  restricciones  o  reglas  que  no  se 
pueden  violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el 
SGBD quien se debe encargar de mantenerlas. 
 
Seguridad:  La  seguridad  de  la  base  de  datos  es  la  protección  de  la base de datos frente a usuarios 
no  autorizados.  Sin  unas  buenas  medidas  de  seguridad,  la  integración  de  datos  en  los  sistemas  de 
bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros. 
 
Concurrencia:  En  algunos  sistemas  de  ficheros,  si  hay  varios  usuarios  que  pueden  acceder 
simultáneamente  a  un  mismo  fichero,  es  posible  que  el  acceso  interfiera  entre  ellos  de  modo  que 
se  pierda  información  o  se  pierda  la  integridad.  La  mayoría  de  los  SGBD  gestionan  el  acceso 
concurrente a la base de datos y garantizan que no ocurran problemas de este tipo. 
 
Recuperación:  Muchos  sistemas  de ficheros dejan que sea el usuario quien proporcione las medidas 
necesarias  para  proteger  los  datos  ante  fallos  en  el  sistema  o  en  las  aplicaciones.  Los  usuarios 
tienen  que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para 
restaurarlos. 
En  este  caso,  todo  el  trabajo  realizado  sobre  los  datos  desde  que  se  hizo  la  última  copia  de 
seguridad  se  pierde  y  se  tiene  que  volver  a  realizar.  Sin  embargo,  los  SGBD  actuales  funcionan  de 
modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo. 
 
13.QUE PROBLEMAS SE PREDENTAN EN UN FICHERO EXPLIQUE CON UN EJEMPLO: 

Se ha detectado que existe un problema con algunos ficheros subidos al Aula Virtual utilizando el
navegador Mozilla Firefox. Por ejemplo, al subir un fichero ​.pdf vemos que el Aula Virtual le asigna un
icono blanco y no reconoce que es un fichero de tipo ​.pdf.​ En el ejemplo también vemos un
documento de excel que tiene asignado el tipo de documento WORD.

Si usted es profesor y ha tenido este problema en la herramienta Recursos, usted mismo puede
modificar el tipo del fichero haciendo clic en ​“Acciones”->“Revisar propiedades”->”Tipo de fichero” y
seleccionar ​“Application”/”pdf” para los ficheros ​.pdf.​ Si tenemos el problema con otro tipo de ficheros,
tenemos que indicar la asociación correcta. Por ejemplo, para ​word es ​msword y para ​excel es
ms-excel.
Ya podemos ver correctamente los dos fichero en Aula Virtual.

No se puede cambiar el tipo del fichero desde cualquier otra herramienta distinta de Recursos
(ejemplo: tareas, mensajes privados…)

Para ​evitar que se repita este problema a la hora de subir un documento al AV, hay que modificar
la asociación que FIREFOX tiene para cada tipo de ficheros. Para ello accedemos a
Firefox->Herramientas->Opciones->Aplicaciones y revisamos todas las asociaciones que tenemos ya
que alguna estará equivocada. Un caso muy común de asociación errónea es que aparezca “​Adobe
Acrobat Document​“-“​octet-stream”​

Si el problema persiste, rogamos que contacten con el equipo técnico del Aula Virtual.

 
 
 
DISEÑOS O FASES DE BASE DE DATOS. 
 
 

La primera forma normal nos dice que los datos de las tablas no deben repetirse, en esta
tabla se repite una y otra vez, los datos en toda la tabla, es que no se ha aplicado esta
Normalizaciòn.Si tenemos en una tabla el registro NOMBRE-SUC, en la tabla, el registro
CIUDAD-SUC, solo debería figurar el código NOMBRE-SUC, para que los demás datos se
puedan referenciar automáticamente sin problemas y sin duplicar información.Lo mismo
ocurriría en las demás tablas. se debería crear una tabla para generar el código del nombre.

Préstamo

numero prestamo

importe

Clientes

codigo cliente

direccion cliente

Activo

Sucursal

nombre-sucursal

ciudad sucursal

La segunda forma normal en este caso debería ya estar aplicada la primera forma normal,
nos dice que cada columna de la tabla debe depender de una clave.Esto quiere decir que
todo el registro debe depender únicamente de la clave principal, si tenemos alguna columna
que se repite a lo largo de todos los registros, estos datos deberían utilizarse en una nueva
tabla. La 2da forma normal nos habla de que cada columna de una tabla debe depender de
toda la clave y no constituir un dato único para cada grupo de registros. En este caso en
cada registro tenemos que ver que los campos no que dependen de una tabla y no deberían
estar dentro de la tabla de préstamo. No se trata de eliminar grupos repetidos de datos más
bien incluir una clave perteneciente a otra tabla, cualquier campo que sea subordinado de
dicha clave debe estar en otra tabla y no en nuestra tabla préstamo.

Cliente

codigocliente

sucursal

prestamo

1.
2.
3. Qué es una base de datos
Una base de datos es un conjunto de datos organizados que tienen una misma relación y
que al ser utilizados se convierten en información para que luego podamos utilizar
fácilmente.
Para que se usa:
organizar, crear, modificar, cambia estructura del campo, actualizar, cambia información,
borrar.
Desde el punto de vista informático, la base de datos es un sistema formado por un
conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un
conjunto de programas que manipulen ese conjunto de datos.
2. Quienes usan una base datos.
En general todas las personas usamos de alguna manera y en algún momento una base de
datos, aunque no estemos conscientes de ello. Las bases de datos no se utilizan
únicamente para aplicaciones de negocios, tu tienda de comestibles, banco, tienda de
alquiler de vídeos y tu tienda de ropa favorita, todas hacen uso de las bases de datos para
realizar el seguimiento de la información de los clientes, del inventario, de los empleados y
de la contabilidad y se utilizan en muchos aspectos de tu vida diaria
Dato: unidad mínima de información .. ejem caracter, número, letra, signo o símbolo.

Información: conjunto de datos ordenado. ejemplo estudiantes de quinto semestre facultad


de filosofía.

Campo: ​En las bases de datos, un campo es la mínima unidad​ para el ingreso de un
registro ​de almacenamiento de información accesible. Un registro está compuesto de uno o
más campos.
Registro:
Es un dato que cumple las características establecidas en los campos

Fichero:
almacenamiento persistente de datos usados para representar información
Ejemplo: ficheros de texto, documentos XML.

Archivo: sinónimo de fichero.


Tupla: Hilera o fila en una tabla.
Clave: Atributo único con característica de relevancia, con valores unico que sirven para
identificar la tupla.
Tabla:
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan y
almacenan los datos recogidos por un programa. Su estructura general se asemeja a la
vista general de un programa de hoja de cálculo. Una tabla es utilizada para organizar y
presentar información.

3. Porqué usar una base de datos.


Es Compacto: No hacen falta archivos de papeles que pudieran ocupar mucho espacio.
Es Rápido: La máquina puede obtener y modificar datos con mucha mayor velocidad que un
ser humano. Así es posible satisfacer con rapidez consultas de casos particulares, del
momento, sin necesidad de búsquedas visuales o manuales que requieren mucho tiempo.
Es menos Laborioso: Se elimina gran parte del tedio de manera archivos a mano. Es
Actual: Se dispone en cualquier momento de información precisa y al día.
Cómoda: Al tener la información en un mismo sitio, ahorraremos tiempo y trabajo
4. Ejemplo de una base de datos.
Hay varios tipos de bases de datos que se pueden utilizar en casos reales. Las bases de
datos de archivo plano generalmente son los archivos de texto sin formato que pueden ser
utilizados por aplicaciones locales para almacenar información. Los archivos planos no son
tan populares como las bases de datos relacionales. Las bases de datos relacionales son
bases de datos con tablas de información relacionadas. Cada tabla tiene un número de
columnas o de atributos y un conjunto de registros o filas. Las bases de datos relacionales
son populares debido a su escalabilidad, rendimiento y facilidad de uso.
Una base de datos bien estructurada:
● Ahorra espacio en el disco eliminando los datos redundantes.
● Mantiene la precisión e integridad de los datos.
● Ofrece acceso a los datos de formas útiles.

Sistema de Nómina: La información correspondiente a empleados, puestos y sueldos se


encuentra relacionada y organizada de manera que se pueda realizar el pago de la nómina
con seguridad.
Sistemas de Contabilidad: Estos sistemas informáticos utilizan bases de datos para
almacenar la información correspondiente a los movimientos contables de una empresa, la
información de cuentas, subcuentas, grupos contables y movimiento cantables que se
registran es almacenada en bases de datos que permiten no solamente obtener esta
información rápidamente, sino que es posible realizar algunas operaciones para obtener
nuevos datos partir de los ya existentes.
Sistemas Bancarios y Financieros. Los bancos hacen un gran uso de las bases de datos las
cuales son ideales para manejar y organizar la información de los clientes y sus
movimientos financieros, con la seguridad de que no existe ningún error en los montos que
se manejan.

5. Simbologías usadas en base de datos.


Entidad

Se representa como un rectángulo con un nombre (el nombre de la entidad)


Modela un objeto de la realidad

Por ejemplo, en el contexto del diseño de una base de datos para una bedelía, los
estudiantes, los docentes y los cursos son ejemplos de entidades que se deben modelar.

Relación

Una relación se representa como un rombo con un nombre (el nombre de la relación), que
conecta entidades

Modela asociaciones entre objetos

6. Que es un gestor de base de datos.

Un ​Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase Management


System) es una colección de programas cuyo objetivo es servir de interfaz entre la base de
datos, el usuario y las aplicaciones. Se compone de un lenguaje de definición de datos, de
un lenguaje de manipulación de datos y de un lenguaje de consulta. Un SGBD permiten
definir los datos a distintos niveles de abstracción y manipular dichos datos, garantizando la
seguridad e integridad de los mismos.
Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc.
Un SGBD debe permitir:
• Definir una base de datos: especificar tipos, estructuras y restricciones de datos.
• Construir la base de datos: guardar los datos en algún medio controlado por el mismo
SGBD
• Manipular la base de datos: realizar consultas, actualizarla, generar informes.

Dato; unidad minima de informacion, a, b, c, 1 ,5, 7

Información; conjunto de datos procesados. estudiantes del quinto semestre de la carrera


de informática
Campo; ​En las bases de datos, un campo es la mínima unidad de almacenamiento de un
registro accesible. Un registro está compuesto de uno o más campos.
Fichero; ​Físicamente un fichero es el soporte en el que se encuentren almacenados o
registrados los datos de carácter personal, incluyendo a “todo conjunto organizado de datos
de carácter personal, que permita el acceso a los datos

ENTIDAD Y ATRIBUTO

Entidad

Las entidades están representadas por cosas u objetos, reales o abstractos, que se
diferencian claramente entre sí.
ejemplos sobre un taller mecánico:
● Coches (objeto físico): contiene la información de cada taller.
● Empleado (objeto físico): información de los trabajadores.
● Cargo del empleado (cosa abstracta): información de la función del empleado.
Atributos
Los atributos no son más que las características de la entidad . Cada entidad tiene distintos
atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos
tipos (numéricos, texto, fecha...).

Al analizar los atributos de la entidad "Coches", que nos darán información sobre los coches
de nuestro taller.

Unos posibles atributos serían los siguientes: número de chasis, matrícula, marca, modelo y
otros que complementan la información de cada coche.

CARACTERÍSTICAS DE LAS BASES DE DATOS

1. INDEPENDENCIA DE LOS DATOS: Como los datos no dependen del programa y por tanto 
cualquier aplicación puede hacer uso de los datos. 
 
2. • SEGURIDAD DE ACCESO Y AUDITORIA: Un SGBD debe permitir que tengamos un 
control sobre la seguridad de los datos. (Se registran los usuarios que ingresan a la base 
de datos, se crea toda una bitácora de actividades en la BD). 

 
3. REDUNDANCIA: Llamamos redundancia a la existencia de duplicación de los datos, al 
reducir ésta al máximo, conseguimos un mayor aprovechamiento del espacio y además 
evitamos que existan inconsistencias entre los datos.  

 
4. INCONSISTENCIAS: Las inconsistencias se dan cuando nos encontramos con datos 
contradictorios. 
 

Problemas que se pueden presentar en un fichero: explique con un ejemplo.


un fichero es su conexión con el mundo exterior, posibilitando el envío y la recepción de
información.
Coherencia de los resultados: Debido a que la información de la base de datos se recoge y se
almacenan una sola.
-Independencia de los datos.
-Disponibilidad: Es la eficiencia de los datos para el conjunto de los usuarios.
-Mayor eficiencia en recogida, validación de la entrada de los datos al sistema.
-Reducción del espacio de almacenamiento
PROBLEMAS
Instalación costosa.
Personas especializadas para el manejo de la información.
Ausencia real de normas: Es la ausencia estandarizada que facilite el manejo de las bases de
datos.
fases del diseño de una base de datos
1. DISEÑO CONCEPTUAL Cardinalidad
Cardinalidad de relaciones (1)
Un estudiante puede tomar varios cursos y en un curso puede haber varios estudiantes
Un docente puede dictar varios cursos, pero un curso es dictado por un único docente.
Cardinalidad de relaciones (2)
En la notación de Chen:
1 significa “hasta 1”
N significa “cualquier número”
Notación
1:1 (Director -< Dirige >- Instituto)
1:N (Docente -< Dicta >- Curso)
N:N (Estudiante -< Cursa >- Curso)

Veremos otras formas de asegurar que haya “al menos 1”

La cardinalidad es una restricción estructural del modelo

2. DISEÑO LÓGICO
3. DISEÑO FÍSICO
MODELO ENTIDAD RELACIÓN Es un diagrama que permite representar las entidades
relevantes de un sistema de información así como sus interrelaciones y propiedades
Elementos del Modelo Entidad-Relación
Entidades Son objetos distinguible del resto; pe en un sistema bancario, las personas y las
cuentas son entidades. Éstas pueden ser entes concretos, como una persona o un avión, o
abstractas, como un préstamo o una reserva. Se representan por medio de un rectángulo.
Atributos Con propiedades de las entidades. Se representan mediante un círculo o elipse,
cuando un atributo es identificativo de la entidad se subraya.
Relación Describe la dependencia entre entidades o permite la asociación de las mismas;
pe tenemos 2 entidades CLIENTE y HABITACIÓN, una relación sería que el cliente 'Pepito'
tiene 'ocupada' la habitación '519'. Se representan por medio de un verbo de acción dentro
de un rombo que une entidades.
Tipos de Relaciones:
1 a 1 Un esposo(e) está casado(r) con una única esposa(e) y viceversa.
1 a M Una factura(e) se emite (r) a una persona(e) y sólo a una, pero una persona(e) puede
tener(r) varias facturas(e) emitidas a su nombre. Todas las facturas(e) se emiten(r) a
nombre de alguien(e).
M a M Un cliente(e) puede comprar(r) varios productos(e) y un producto(e) puede ser
comprado(r) por varios clientes(e).
EJEMPLO:
LOS ESTUDIANTES DE 5TO SEMESTRE PARALELO B NECESITAN CREAR UNA BASE
DE DATOS PARA EL REGISTRO NOTAS ; PARA FACILITAR LA INFORMACIÓN DEL
REGISTRO DE NOTAS Y PODER SABER SI PASA O NO AL SIGUIENTE SEMESTRE

ESTUDIANTES OBTIENEN NOTAS


TIPOS DE CARDINALIDAD DE BD
Tipos de Relaciones:
1a1
Aparece cuando un registro de la tabla A sólo puede relacionarse con 1 registro de la tabla
B. Este modelo aparece en relaciones de tipo exclusivo, como por ejemplo
Países-Banderas, ya que cada país tiene una única bandera oficial, y cada bandera sólo
puede pertenecer a un país; otro ejemplo sería Matrículas de coches y Número de bastidor.

1 a varios
En este caso, un registro de la tabla A puede relacionarse con varios de la tabla B. Es el tipo
más habitual y utilizado, y existen numerosos casos; por ejemplo, domicilios con personas
que viven en el mismo, nombre de empresa con sus trabajadores, proveedores con
productos que sirven…

varios a varios
Se da si varios registros de A pueden relacionarse con varios de B y viceversa. Es quizás la
menos habitual de manera formal, aunque en futuras entradas veremos cómo podemos
plantear una situación de este tipo para manejarla de forma efectiva.

El ejemplo clásico, es tener dos tablas, una de actores y otra de películas, ya que lo habitual
es que cada actor haya trabajado en varias películas, y que éstas estén formadas por varios
actores.

1 a 1 Un esposo(e) está casado(r) con una única esposa(e) y viceversa.


1 a M Una factura(e) se emite (r) a una persona(e) y sólo a una, pero una persona(e) puede
tener(r) varias facturas(e) emitidas a su nombre. Todas las facturas(e) se emiten(r) a
nombre de alguien(e).
M a M Un cliente(e) puede comprar(r) varios productos(e) y un producto(e) puede ser
comprado(r) por varios clientes(e).

en este dis
estamos relacionando las entidades y aplicando las cardinalidades identificadas

en el modelo logico vemos como


¿Qué es sql?
SQL (Structured Query Language) no es más que un lenguaje de acceso a bases de datos
que permite realizar diversos tipos de operaciones en ellas, con la ayuda del álgebra y de
cálculos, el SQL brinda la posibilidad de realizar consultas con el objetivo de recuperar
información de las bases de datos de manera sencilla. Las consultas toman la forma de un
lenguaje de comandos que permite seleccionar, insertar, actualizar, averiguar la ubicación
de los datos, y más.
Historia del sql
La historia de SQL empieza en 1974 con la definición, por parte de Donald Chamberlin y de
otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje
para la especificación de las características de las bases de datos que adoptaban el modelo
relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se
implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las
experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del
lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales,
convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó
internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de
este sistema, que no estaba todavía comercializado, también otras compañías empezaron a
desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a
entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los
años ochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos)
comercializaron productos basados en SQL, que se convierte en el estándar industrial de
hecho por lo que respecta a las bases de datos relacionales.

En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como
estándar para los lenguajes relacionales y en 1987 se transformó en estándar ISO. Esta
versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido
diversas revisiones que han conducido primero a la versión SQL/89 y, posteriormente, a la
actual SQL/92.
El hecho de tener un estándar definido por un lenguaje para bases de datos relacionales
abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se
basan en él. Desde el punto de vista práctico, por desgracia las cosas fueron de otro modo.
Efectivamente, en general cada productor adopta e implementa en la propia base de datos
sólo el corazón del lenguaje SQL, extendiéndose de manera individual según la propia
visión que cada cual tenga del mundo de las bases de datos.
Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los comités
ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce
como SQL3. Las características principales de esta nueva encarnación de SQL deberían
ser su transformación en un lenguaje stand-alone (mientras ahora se usa como lenguaje
hospedado en otros lenguajes) y la introducción de nuevos tipos de datos más complejos
que permitan, por ejemplo, el tratamiento de datos multimediales.
Características ventajas y desventajas del sql
Instalacion y configuracion del sql
En esta ocasión veremos como instalar SQL Server 2012 en nuestras máquinas con
sistemas operativos clientes (no servidores).
Al empezar el proceso de instalación, nos aparece una ventana que nos indica que el
programa está procesando la operación actual.

luego de unos segundos nos muestra la pantalla del centro de instalación de SQL Server,
donde aparecen varias opciones a elegir, entre las que encontramos:
Planeamiento
Instalación
Mantenimiento
Herramientas
Recursos
Avanzadas
Opciones

Al aparecer la pantalla de Centro de Instalación, daremos clic en la opción Instalación y


nos mostrará varias opciones para poder instalar nuestro SQL Server 2012...
En esta ocasión haremos clic en la primera opción “Nueva instalación independiente
de SQL Server o agregar características a una instalación existente“.
Esto hará que el asistente de instalación se inicie y nos mostrará la ventana “Reglas
auxiliares del programa de instalación“, la cual se encargará de identificar problemas
que puedan surgir al momento de empezar a instalar los archivos auxiliares de instalación,

en caso de aparecer alguno, éste deberá ser corregido antes de continuar con la
instalación.

Al terminar de hacer el análisis y comprobar que todo está correcto, procedemos a dar
clic en el botón “Aceptar”.
Es importante mencionar que de haber algún problema o error detectado, aparecerá en
la sección estado un link que nos dará información referente al problema y su posible
solución.
Luego aparecerá una nueva ventana que nos solicitará la clave del producto.
Si no poseemos una clave de producto, podemos instalar una versión gratuita que tiene
una duración de 180 días para su uso, luego de este período, debemos activar dicha
versión.

Luego de escribir nuestra clave, damos clic en el botón “Siguiente”, y nos llevará a la
pantalla de los “Términos de licencia“.

En esta pantalla luego de leer los términos de la licencia y estar de acuerdo con los
mismos, seleccionamos la casilla “Acepto los términos de licencia”, también podemos
seleccionar la siguiente casilla para enviar datos de uso a Microsoft acerca de cómo
usamos nuestro SQL Server.
Nota: la segunda casilla no es obligatoria seleccionarla.

Luego de haber seleccionado la o las casillas correspondientes, damos clic en el botón


“Siguiente”, esto nos llevará a una nueva ventana de “Actualizaciones de productos“.
En esta ventana se hace una comprobación en línea de las actualizaciones más recientes
que podamos instalar para mejorar la seguridad y rendimiento de nuestro SQL Server.
En caso de no haber ninguna actualización disponible nos mostrará un mensaje
avisandonos que no se han encontrado actualizaciones.

Luego de terminar el proceso de actualizaciones damos clic en el botón “Siguiente”.

A continuación aparecerá la ventana “Instalar archivos de configuración“, la cuál


procederá a instalar las actualizaciones (en caso de existir), así como los archivos del
programa de instalación.
Luego de este paso aparecerá nuevamente la ventana “Reglas auxiliares del programa
de instalación“, pero esta vez comprobará las reglas necesarias para proceder a la
instalación final de nuestro SQL Server.

Luego de la comprobación de las reglas auxiliares, podremos ver los detalles de la misma

La advertencia que aparece en “Firewall de Windows” nos indica que el firewall de


Windows se encuentra habilitado y debemos comprobar que los puertos necesarios para
habilitar el acceso remoto se encuentren abiertos.
También podremos, al finalizar la comprobación, ver un informe detallado de la misma.
Después de revisar el informe detallado, cerramos el mismo y hacemos clic en el botón
“Siguiente” para llegar a la ventana “Rol de instalación“.
En esta ventana seleccionaremos la opción de instalación con las características que
consideremos más idóneas para nuestro SQL Server.

La primera opción nos permite seleccionar de forma individual las características que
instalaremos, mientras que la segunda opción instalará todas las características con sus
valores predeterminados.
En este paso a paso seleccionaremos la primera opción “Instalación de características
de SQL Server“
Al seleccionar la opción de instalación, procederemos a dar clic en el botón “Siguiente”,
esto nos llevará a la ventana “Selección de características“, en la cual seleccionaremos
todas las características que deseamos instalar.
Después de seleccionar las características necesarias, haremos nuevamente clic en el
botón “Siguiente” y llegaremos a la ventana “Reglas de instalación“.

Al comprobar que todas las reglas son cumplidas haremos clic en “Siguiente” para poder
ver la ventana “Configuración de instancia“.
Es en esta ventana en donde crearemos nuestra instancia, por defecto el nombre
predeterminada de la instancia es MSSQLSERVER, sin embargo si hacemos clic en la
opción “Instancia con nombre“, podremos colocar el nombre que nosotros
consideremos más apropiado para identificarla.
En “Directorio raíz de la instancia” podemos cambiar el lugar donde almacenaremos
o crearemos nuestra instancia, sin embargo si no tenemos experiencia es mejor dejar los
valores predeterminados que nos ofrece el asistente.
Luego de configurar nuestra instancia, damos clic en el botón “Siguiente” para llegar a la
ventana “Requisitos de espacio en disco“.

En esta ventana veremos los datos de espacio requerido y el espacio que tenemos
disponible para proceder con la instalación.

Luego de comprobar que realmente contamos con espacio suficiente para la instalación
damos clic en el botón “Siguiente”.
Luego aparecerá una nueva ventana “Configuración del servidor”, donde
especificaremos las cuentas de servicio y la configuración de intercalación.

Es muy recomendable utilizar una cuenta diferente para cada servicio, asignar una
contraseña distinta a cada uno y en la pestaña “Intercalación” dejar los valores por
defecto, salvo que sea en verdad necesario modificar esos valores.
Al finalizar de configurar las cuentas y contraseñas de nuestro servidor, procedemos a
dar clic en el botón “Siguiente” nuevamente, esto nos llevará a la ventana
“Configuración del Motor de base de datos“.

Errores de instalación
El primero,
Error instalando controlling

Solución:​ Se soluciona dejando la cuenta en blanco. Esto es debido a que esta funcionalidad
requiere de un dominio. El segundo error se presenta con la instalación de Reporting Services:

Solución: ​Se presenta cuando se había instalado una versión previa de SQL Server “Denali” en
el servidor. Esto ocurre porque la desinstalación de “denali” no es limpia y deja las carpetas y
bases de sistema existentes. La solución. Elimina estas bases y la instalación pasará sin
problema.
Tipos de datos en sql
SQL Server brinda una serie de tipos de datos para almacenar la información, la correcta
selección del tipo de dato es simplemente una cuestión de determinar qué valores desea
almacenar, como por ejemplo carácter, enteros, binario, fechas, etc.
Los siguientes objetos tienen tipos de datos:
Columnas de tablas y vistas.
Parámetros de procedimientos almacenados.
Variables.
Funciones de Transact-SQL que devuelven uno o más valores de datos de un tipo de datos
específico.
Procedimientos almacenados que devuelven un código, que siempre es de tipo integer.
Al asignar un tipo de datos a un objeto se definen cuatro atributos del objeto:

La clase de datos que contiene el objeto, por ejemplo, carácter, entero o binario.
La longitud del valor almacenado o su tamaño.
La precisión del número (sólo tipos de datos numéricos).
La precisión es el número de dígitos que puede contener el número.
La escala del número (sólo tipos de datos numéricos).
La escala es el máximo número de dígitos a la derecha del separador decimal.
Binario
Carácter
Fecha y Hora
Decimal
Punto Flotante
Entero
Monetario
Unicode
Los tipos de datos definidos por el usuario están basados en los tipos de datos disponibles
a través de SQL Server.
Los tipos de datos definidos por el usuario se pueden emplear para asegurar que un dato
tenga las mismas características sobre múltiples tablas.
Desde el Analizador de Consultas se puede usar el stored procedure del sistema
SP_ADDTYPE cuya sintaxis es la siguiente:

sp_addtype [@typename =] tipo,


[@phystype =] tipoDatosSistema
[, [@nulltype =] 'tipoNull']

Tipo de Datos Longitud Descripción

BINARY 1 byte Para consultas sobre tabla adjunta de


productos de bases de datos que definen un
tipo de datos Binario

BIT 1 byte Valores Si/No ó True/False

BYTE 1 byte Un valor entero entre 0 y 255.

COUNTER 4 bytes Un número incrementado automáticamente


(de tipo Long)

CURRENCY 8 bytes Un entero escalable entre


922.337.203.685.477,5808 y
922.337.203.685.477,5807.

DATETIME 8 bytes Un valor de fecha u hora entre los años 100 y


9999.

SINGLE 4 bytes Un valor en punto flotante de precisión simple


con un rango de - 3.402823*1038 a
-1.401298*10-45 para valores negativos,
1.401298*10- 45 a 3.402823*1038 para valores
positivos, y 0

DOUBLE 8 bytes Un valor en punto flotante de doble precisión


con un rango de - 1.79769313486232*10308 a
-4.94065645841247*10-324 para valores
negativos, 4.94065645841247*10-324 a
1.79769313486232*10308 para valores
positivos, y 0.

SHORT 2 bytes Un entero corto entre -32,768 y 32,767.

LONG 4 bytes Un entero largo entre -2,147,483,648 y


2,147,483,647

LONGTEXT 1 byte por De cero a un máximo de 1.2 gigabytes.


carácter

LONGBINARY Según se De cero 1 gigabyte. Utilizado para objetos


necesite OLE.

TEXT 1 byte por De cero a 255 caracteres.


carácter

La siguiente tabla recoge los sinónimos de los tipos de datos definidos:

Tipo de Dato Sinónimos


BINARY VARBINARY
BOOLEAN
LOGICAL
BIT
LOGICAL1
YESNO
BYTE INTEGER1
COUNTER AUTOINCREMENT
CURRENCY MONEY
DATE
DATETIME TIME
TIMESTAMP
FLOAT4
SINGLE IEEESINGLE
REAL
FLOAT
FLOAT8
DOUBLE IEEEDOUBLE
NUMBER
NUMERIC
INTEGER2
SHORT
SMALLINT
INT
LONG INTEGER
INTEGER4
GENERAL
LONGBINARY
OLEOBJECT
LONGCHAR
LONGTEXT MEMO
NOTE
ALPHANUMERIC
TEXT CHAR - CHARACTER
STRING - VARCHAR
VARIANT (No
VALUE
Admitido)
1. create database Práctica 1
2. Eliminar
3. Verificar las bases de datos existentes
Explicar las bases de datos del motor sql(model, master, msdb)
MASTER.​ ¿Para qué sirve MASTER? Almacena información de configuración de la
instancia de SQL Server, como puede ser la definición de los inicios de sesión (Logins), de
las bases de datos, de los errores del sistema, etc. Hay que tener en cuenta, que no toda la
configuración de la instancia se almacena en MASTER, pues por ejemplo, el modo de
autenticación (Windows o Mixto) se almacena en el registro.
También contiene los procedimientos almacenados extendidos, y muchos otros
procedimientos almacenados del sistema sólo disponibles en MASTER.
MSDB. ¿Para qué sirve MSDB? Principalmente tiene la función de dar soporte al Agente de
SQL Server, de tal modo que almacena la definición y planificación de JOBs, Planes de
Mantenimiento, etc. (incluyendo su historial de ejecución), así como almacena la definición
de otros objetos como Operadores, Alertas, etc. Esto implica, que el Agente de SQL Server,
que como sabemos es un servicio de Windows, se conectará a esta base de datos, y por
ello será necesario parar el Agente de SQL Server si deseamos hacer un RESTORE de la
misma, pues necesitaremos exclusividad.
Sin embargo, MSDB también se utiliza cuando el Agente de SQL Server no está presente,
como es el caso de SQL Express (que no incluye éste servicio) o en los casos en que no se
utiliza (ej: el Agente de SQL Server está parado). Por poner ejemplos, siempre que se
realiza una copia de seguridad (BACKUP DATABASE o BACKUP LOG) o una restauración
(RESTORE DATABASE o RESTORE LOG), se almacena en MSDB (tablas backupfile,
backupfilegroup, backupmediafamily, backupmediaset, backupset, restorefile,
restorefilegroup, restorehistory).
Por último, también permite servir de ubicación de almacenamiento de paquetes DTS (SQL
Server 2000) y DTSX (SQL Server 2005 - SSIS).
MODEL. ​¿Para qué sirve MODEL? Esta base de datos sirve de modelo. Siempre que se
crea una nueva base de datos (CREATE DATABASE), se realiza una copia de la base de
datos MODEL, heredando de ésta su configuración y contenido, salvo que se especifique lo
contrario. Por ejemplo, es posible establecer el Modo de Recuperación o Modo de Registro
de MODEL en SIMPLE (o sencillo), con el fin de evitar que al crear una base de datos por
defecto se utilice el Modo de Recuperación FULL (completo).
TEMPDB. ¿Para qué sirve TEMPDB? Almacena tanto los objetos temporales (tablas
temporales, procedimientos almacenados temporales, etc.), como los resultados
intermedios que pueda necesitar crear el motor de base de datos, por ejemplo durante la
ejecución de consultas que utilizan las cláusulas GROUP BY, ORDER BY, DISTINCT, etc.
Además, TEMPDB se crea de nuevo siempre que se inicia la instancia SQL Server,
tomando su tamaño por defecto. Dado que según necesite más espacio, TEMPDB crecerá
hasta el tamaño que necesite, y dado que el crecimiento de un fichero implica esperas
debidas a la entrada/salida, es muy importante en entornos críticos dimensionar
correctamente TEMPDB para que se cree con un tamaño apropiado, y evitar dichas esperas
de entrada/salida en tiempo de ejecución, justo cuando estamos ofreciendo servicio a los
usuarios. Evidentemente, estamos desplazando dichas esperas al momento de inicio de la
instancia, pero también conseguimos una ventaja adicional al crear de una vez TEMPDB:
limitamos la fragmentación (también muy importante en entornos críticos).
A partir de SQL Server 2005, también se utiliza al habilitar el modo de aislamiento
SNAPSHOT, así como al crear o reconstruir índices con la opción SORT_IN_TEMPDB.
DISTRIBUTION.​ ¿Para qué sirve DISTRIBUTION? No existe por defecto. Se crea al
habilitar una instancia de SQL Server como Distribuidor en un entorno de Replicación.
Durante el proceso de configuración del Distribuidor, se puede elegir el nombre de ésta
base de datos, por lo que no resulta estrictamente necesario que se llame DISTRIBUTION.
Almacena información como la definición de las Publicaciones, la definición de los Agentes
de Instantánea, etc.
MSSQLSYSTEMRESOURCE.​ ¿Para qué sirve MSSQLSYSTEMRESOURCE? Esta base
de datos es nueva en SQL Server 2005. Aparentemente está oculta (no podremos verla
desde SQL Server Management Studio). Es de sólo lectura y no contiene datos, sino por el
contrario, contiene el código de todos los objetos del sistema de SQL Server 2005. No es
accesible directamente, puesto que es necesario establecer el modo de usuario único
(single_user) para poder acceder a esta base de datos (USE
MSSQLSYSTEMRESOURCE). En cualquier caso, jamás se debe acceder a esta base de
datos.
Una de las principales diferencias entre SQL Server 2000 y SQL Server 2005, está en que
en SQL Server 2005 ya no es posible actualizar directamente las tablas del catálogo del
sistema, es decir, no funciona la opción 'allow update' de sp_configure. Todas las
manipulaciones de éste tipo, se deben de realizar a traves de los procedimientos
almacenados del sistema o de las propias sentencias del motor de base de datos (CREATE,
ALTER, DROP, etc.).

Comandos sql
CREATE DATABASE ​se utiliza para crear una nueva base de datos vacía.
DROP DATABASE​ se utiliza para eliminar completamente una base de datos existente.
CREATE TABLE​ se utiliza para crear una nueva tabla, donde la información se almacena
realmente.
ALTER TABLE​ se utiliza para modificar una tabla ya existente.
DROP TABLE​ se utiliza para eliminar por completo una tabla existente.
Manipulando los datos.
SELECT​ se utiliza cuando quieres leer (o seleccionar) tus datos.
INSERT​ se utiliza cuando quieres añadir (o insertar) nuevos datos.
UPDATE​ se utiliza cuando quieres cambiar (o actualizar) datos existentes.
DELETE​ se utiliza cuando quieres eliminar (o borrar) datos existentes.
REPLACE​ se utiliza cuando quieres añadir o cambiar (o reemplazar) datos nuevos o ya
existentes.
TRUNCATE​ se utiliza cuando quieres vaciar (o borrar) todos los datos de la plantilla.
And Or
En la sección anterior, hemos visto que la palabra clave WHERE también puede utilizarse
para seleccionar datos condicionalmente desde una tabla. Esta condición puede ser una
condición simple (como la que se presenta en la sección anterior), o puede ser una
condición compuesta. Las condiciones compuestas están formadas por múltiples
condiciones simples conectadas por AND u OR. No hay límites en el número de condiciones
simples que pueden presentarse en una sola instrucción SQL.

La sintaxis de una condición compuesta es la siguiente:

SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condición simple"
{[AND|OR] "condición simple"}+;
{}+ significa que la expresión dentro de las llaves ocurrirá una o más veces. Note que AND u
OR pueden utilizarse indistintamente. Además, podemos utilizar el símbolo paréntesis ( )
para indicar el orden de la condición.
Order By
Hasta ahora, hemos visto cómo obtener datos de una tabla utilizando los comandos
SELECT y WHERE. Con frecuencia, sin embargo, necesitamos enumerar el resultado en un
orden particular. Esto podría ser en orden ascendente, en orden descendente, o podría
basarse en valores numéricos o de texto. En tales casos, podemos utilizar la palabra clave
ORDER BY para alcanzar nuestra meta.

La sintaxis para una instrucción ORDER BY es la siguiente:

SELECT "nombre_columna"
FROM "nombre_tabla"
[WHERE "condición"]
ORDER BY "nombre_columna" [ASC, DESC];
[ ] significa que la instrucción WHERE es opcional. Sin embargo, si existe una cláusula
WHERE, viene antes de la cláusula ORDER BY ASC significa que los resultados se
mostrarán en orden ascendente, y DESC significa que los resultados se mostrarán en orden
descendente. Si no se especifica ninguno, la configuración predeterminada es ASC.
Group By
Ahora regresamos a las funciones de agregados. ¿Recuerda que utilizamos la palabra clave
SUM para calcular las ventas totales para todos los negocios? ¿Y si quisiéramos calcular el
total de ventas para cada negocio? Entonces, necesitamos hacer dos cosas: Primero,
necesitamos asegurarnos de que hayamos seleccionado el nombre del negocio así como
también las ventas totales. Segundo, debemos asegurarnos de que todas las sumas de las
ventas estén GROUP BY negocios. La sintaxis SQL correspondiente es,

SELECT "nombre1_columna", SUM("nombre2_columna")


FROM "nombre_tabla"
GROUP BY "nombre1-columna";
Count
Otra función aritmética es COUNT. Esto nos permite COUNT el número de filas en una
tabla determinada. La sintaxis es,

SELECT COUNT("nombre_columna")
FROM "nombre_columna";

Profesor: /*
Caso Desarrollado Nº 1
Implementar un script que permita crear la base de datos METROPOLITANO con
valores estandar.
*/
CREATE DATABASE METROPOLITANO
GO

--Verificar los valores estandar de la base de datos


SP_HELPDB METROPOLITANO
Profesor: /*
Caso Desarrollado Nº 2
Implementar un script que permita crear la tabla BOLETA dentro de la base de datos
METROPOLITANO
con las siguientes caracteristicas:

----------------------------------------------------
BOLETA Nº 000000011515452

FECHA DE EMISION: 06/01/2017


MONTO: 10.00
----------------------------------------------------
*/
USE METROPOLITANO
GO

CREATE TABLE BOLETA (


numeroBoleta CHAR(15)NOT NULL,
fechaEmision DATE NOT NULL,
monto MONEY NOT NULL
)
GO
VERIFICAR LOS VALORES ESTÀNDAR DE LA TABLA EJEMPLO2
id_num int IDENTITY(1,1),
INSERT INTO BOLETA VALUES ('00000001','22/04/2008',200)
INSERT INTO BOLETA VALUES ('00000001','22/04/2008',200)
CREATE PROCEDURE SP_TOTALBOLETAS
AS
BEGIN
SELECT YEAR(FECHAEMISION) AS [AÑO],
COUNT(*) AS [TOTAL]
FROM BOLETA
GROUP BY YEAR(FECHAEMISION)
END
--Probando la funcion usando una consulta:
SELECT DBO.FN_TOTALBOLETAS(2007) AS [TOTAL DE BOLETAS]

--O usando el comando Print:


PRINT 'EL TOTAL DE BOLETAS ES: '+STR(DBO.FN_TOTALBOLETAS(2007))

use metropolitano
use master

use METROPOLITANO
/* CREAR TABLA*/
sp_helpdb METROPOLITANO
create table BOLET(
NUMEROBOLETA CHAR (15) NOT NULL
PRIMARY KEY (NUMEROBOLETA),
FECHADEEMISION DATE,
MONTO MONEY);

/* ------------ LLENADO DE REGISTROS A LA TABLA BOLETA ------------*/


INSERT INTO BOLET VALUES ('00000001','22/04/2008',200)
INSERT INTO BOLET VALUES ('00000002','02/01/2008',350)
INSERT INTO BOLET VALUES ('00000003','03/10/2008',250)
INSERT INTO BOLET VALUES ('00000004','01/05/2007',150)
INSERT INTO BOLET VALUES ('00000005','07/12/2008',200)
INSERT INTO BOLET VALUES ('00000006','16/08/2008',120)
INSERT INTO BOLET VALUES ('00000007','03/01/2007',50)
INSERT INTO BOLET VALUES ('00000008','05/03/2007',200)
INSERT INTO BOLET VALUES ('00000009','14/09/2008',10)
INSERT INTO BOLET VALUES ('00000010','18/12/2008',50)
INSERT INTO BOLET VALUES ('00000011','09/11/2007',100)
INSERT INTO BOLET VALUES ('00000012','06/10/2007',80)

SP_HELPDB METROPOLITANO

/*INSERTAR UN TRIGGER*/
CREATE TRIGGER TX_MENSAJ
ON BOLET
FOR INSERT, UPDATE
AS
PRINT 'LA BOLETA SE ACTUALIZO CORRECTAMENTE'

SELECT * FROM BOLET


INSERT INTO BOLET VALUES ('00000013','06/10/2018',800)
INSERT INTO BOLET VALUES ('00000015','09/11/2018',300)
SELECT * FROM INFORMATION_SCHEMA.TABLES
SELECT NAME FROM MASTER.DBO.SYSDATABASES
/*ACTUALIZAR TABLA*/
UPDATE BOLET
SET FECHADEEMISION='05/03/2007',
MONTO=1000
WHERE NUMEROBOLETA=00000022

/*CREATE PROCEDURE PRODUCTO


@LASTNAME NVARCHAR(50),
@FIRSTNAME NVARCHAR(50)
AS
PRINT*/

INSERT INTO BOLET(SALARIO)

CREATE PROCEDURE MEDIAN (OUT medianSalary DOUBLE)


RESULT SETS 1
LANGUAGE SQL
BEGIN
DECLARE v_numRecords INT DEFAULT 1;
DECLARE v_counter INT DEFAULT 0;

DECLARE c1 CURSOR FOR


SELECT CAST(salary AS DOUBLE)
FROM BOLET
ORDER BY salary;
DECLARE c2 CURSOR WITH RETURN FOR
SELECT FECHADEEMISION, MONTO, CAST(SALARIO AS INTEGER)
FROM BOLET
WHERE SALARIO > medianSalary
ORDER BY SALARIO;

DECLARE EXIT HANDLER FOR NOT FOUND


SET medianSalary = 6666;

CREATE PROCEDURE SP_TOTALBOLET


AS
BEGIN
SELECT YEAR(FECHADEEMISION) AS [AÑO],
COUNT(*) AS [TOTAL]
FROM BOLET
GROUP BY YEAR(FECHADEEMISION)
END
EXEC SP_TOTALBOLET
SELECT * FROM BOLET
SELECT MAX(MONTO) AS [VALOR MAXIMO] FROM BOLET

/*
Caso Desarrollado Nº 5
Implementar un script que permita crear la funcion FN_TOTALBOLETAS de un
determinado año
ingresado por el usuario a la tabla BOLETA.
*/
CREATE FUNCTION IVA (@MONTO money)
RETURNS money
AS
BEGIN
Declare @RESULTADO money
Set @RESULTADO=@MONTO*.12
Return(@ESULTADO)
END
EXEC IVA

_________________________________________________________________________
use master

SELECT * FROM practica


/*si la base de datos ventas existe(ventas que no acepta valores nulos, empiece
eliminando la base de datos venta)*/

if db_id('ventas') is not null


begin drop database ventas
end

create database ventas(


size = 10,
maxsize = 50,
filegrowth =

create database ventas ON PRIMARY


(
NAME=ventas_data,
FILENAME='D:\VENTAS.mdf',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=1MB
)
LOG ON
(
NAME=VENTAS_log,
FILENAME='D:\VENTAS.ldf',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=1MB
)
use ventas

/*Profesor:*/
CREATE TABLE CLIENTE
(NUMCLI INT not null,
NOMCLI CHAR(30) not null,
DIRCLI char(30), FAX INT,
E_MAIL CHAR(30) DEFAULT ('Desconocido'),
SALD_0_30 DECIMAL (10,2),
SALD_31_60 DECIMAL (10,2),
SALD_61_90 DECIMAL (10,2), primary key (NUMCLI) )
/*Creación de Tabla Vendedor*/
CREATE TABLE VENDEDOR
(CODVEND INT not null,
NOMVEND char(20) not null,
APELLVEND char(20) not null,
DIRVEND char(30),
TELVEND INT, E_MAIL CHAR(30)
DEFAULT('Desconocido'),
CUOTA DECIMAL (10,2),
VENTAS DECIMAL (10,2), primary key(CODVEND) )
/*Creación de Tabla Artículo*/
CREATE TABLE ARTICULO
(NUMART char(4) not null PRIMARY
KEY,
DESCRIPCION CHAR(30),
PRECIO DECIMAL (10,2) NOT NULL CHECK (PRECIO >= 0.00),
EXISTENCIA INT,
CATEGORIA_ART CHAR (15))

/*Creación de Tabla Pedido*/


CREATE TABLE PEDIDO
(NUMPED INT not null PRIMARY KEY,
NUMCLI INT not null, CODVEND INT NOT NULL,
FECHA_PED DATETIME,
TOT_DESC DECIMAL (10,2),
FOREIGN KEY (NUMCLI) REFERENCES CLIENTE(NUMCLI) ,
FOREIGN KEY (CODVEND) REFERENCES VENDEDOR(CODVEND))

/*Creación de Tabla Detalle_Ped*/


CREATE TABLE DETALLE_PED (NUMPED INT not null,
NUMART char (4) not null, CANTIDAD INT CHECK (CANTIDAD >=
0), PRIMARY KEY (NUMPED,NUMART),
FOREIGN KEY (NUMPED) REFERENCES PEDIDO(NUMPED),
FOREIGN KEY (NUMART) REFERENCES ARTICULO (NUMART) )

SP_HELPDB ventas
select * from CLIENTE
select * from ARTICULO
select * from PEDIDO
select * from DETALLE_PED
alter authorization on database:: ventas to sa

_________________________________________________________________________
La primera forma normal nos dice que los datos de las tablas no deben repetirse, en esta
tabla se repite una y otra vez, los datos en toda la tabla, es que no se ha aplicado esta
Normalizaciòn.Si tenemos en una tabla el registro NOMBRE-SUC, en la tabla, el registro
CIUDAD-SUC, solo debería figurar el código NOMBRE-SUC, para que los demás datos se
puedan referenciar automáticamente sin problemas y sin duplicar información.Lo mismo
ocurriría en las demás tablas. se debería crear una tabla para generar el código del nombre.

Préstamo

numero prestamo

importe

Clientes

codigo cliente

direccion cliente

Activo

Sucursal

nombre-sucursal

ciudad sucursal

La segunda forma normal en este caso debería ya estar aplicada la primera forma normal,
nos dice que cada columna de la tabla debe depender de una clave.Esto quiere decir que
todo el registro debe depender únicamente de la clave principal, si tenemos alguna columna
que se repite a lo largo de todos los registros, estos datos deberían utilizarse en una nueva
tabla. La 2da forma normal nos habla de que cada columna de una tabla debe depender de
toda la clave y no constituir un dato único para cada grupo de registros. En este caso en
cada registro tenemos que ver que los campos no que dependen de una tabla y no deberían
estar dentro de la tabla de préstamo. No se trata de eliminar grupos repetidos de datos más
bien incluir una clave perteneciente a otra tabla, cualquier campo que sea subordinado de
dicha clave debe estar en otra tabla y no en nuestra tabla préstamo.

Cliente

codigocliente

sucursal

prestamo

1.
2.
3. Qué es una base de datos
Una base de datos es un conjunto de datos organizados que tienen una misma relación y
que al ser utilizados se convierten en información para que luego podamos utilizar
fácilmente.
Para que se usa:
organizar, crear, modificar, cambia estructura del campo, actualizar, cambia información,
borrar.
Desde el punto de vista informático, la base de datos es un sistema formado por un
conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un
conjunto de programas que manipulen ese conjunto de datos.
2. Quienes usan una base datos.
En general todas las personas usamos de alguna manera y en algún momento una base de
datos, aunque no estemos conscientes de ello. Las bases de datos no se utilizan
únicamente para aplicaciones de negocios, tu tienda de comestibles, banco, tienda de
alquiler de vídeos y tu tienda de ropa favorita, todas hacen uso de las bases de datos para
realizar el seguimiento de la información de los clientes, del inventario, de los empleados y
de la contabilidad y se utilizan en muchos aspectos de tu vida diaria
Dato: unidad mínima de información .. ejem caracter, número, letra, signo o símbolo.

Información: conjunto de datos ordenado. ejemplo estudiantes de quinto semestre facultad


de filosofía.

Campo: ​En las bases de datos, un campo es la mínima unidad​ para el ingreso de un
registro ​de almacenamiento de información accesible. Un registro está compuesto de uno o
más campos.
Registro:
Es un dato que cumple las características establecidas en los campos

Fichero:
almacenamiento persistente de datos usados para representar información
Ejemplo: ficheros de texto, documentos XML.

Archivo: sinónimo de fichero.


Tupla: Hilera o fila en una tabla.
Clave: Atributo único con característica de relevancia, con valores unico que sirven para
identificar la tupla.
Tabla:
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan y
almacenan los datos recogidos por un programa. Su estructura general se asemeja a la
vista general de un programa de hoja de cálculo. Una tabla es utilizada para organizar y
presentar información.

3. Porqué usar una base de datos.


Es Compacto: No hacen falta archivos de papeles que pudieran ocupar mucho espacio.
Es Rápido: La máquina puede obtener y modificar datos con mucha mayor velocidad que un
ser humano. Así es posible satisfacer con rapidez consultas de casos particulares, del
momento, sin necesidad de búsquedas visuales o manuales que requieren mucho tiempo.
Es menos Laborioso: Se elimina gran parte del tedio de manera archivos a mano. Es
Actual: Se dispone en cualquier momento de información precisa y al día.
Cómoda: Al tener la información en un mismo sitio, ahorraremos tiempo y trabajo
4. Ejemplo de una base de datos.
Hay varios tipos de bases de datos que se pueden utilizar en casos reales. Las bases de
datos de archivo plano generalmente son los archivos de texto sin formato que pueden ser
utilizados por aplicaciones locales para almacenar información. Los archivos planos no son
tan populares como las bases de datos relacionales. Las bases de datos relacionales son
bases de datos con tablas de información relacionadas. Cada tabla tiene un número de
columnas o de atributos y un conjunto de registros o filas. Las bases de datos relacionales
son populares debido a su escalabilidad, rendimiento y facilidad de uso.
Una base de datos bien estructurada:
● Ahorra espacio en el disco eliminando los datos redundantes.
● Mantiene la precisión e integridad de los datos.
● Ofrece acceso a los datos de formas útiles.

Sistema de Nómina: La información correspondiente a empleados, puestos y sueldos se


encuentra relacionada y organizada de manera que se pueda realizar el pago de la nómina
con seguridad.
Sistemas de Contabilidad: Estos sistemas informáticos utilizan bases de datos para
almacenar la información correspondiente a los movimientos contables de una empresa, la
información de cuentas, subcuentas, grupos contables y movimiento cantables que se
registran es almacenada en bases de datos que permiten no solamente obtener esta
información rápidamente, sino que es posible realizar algunas operaciones para obtener
nuevos datos partir de los ya existentes.
Sistemas Bancarios y Financieros. Los bancos hacen un gran uso de las bases de datos las
cuales son ideales para manejar y organizar la información de los clientes y sus
movimientos financieros, con la seguridad de que no existe ningún error en los montos que
se manejan.

5. Simbologías usadas en base de datos.


Entidad

Se representa como un rectángulo con un nombre (el nombre de la entidad)


Modela un objeto de la realidad

Por ejemplo, en el contexto del diseño de una base de datos para una bedelía, los
estudiantes, los docentes y los cursos son ejemplos de entidades que se deben modelar.

Relación

Una relación se representa como un rombo con un nombre (el nombre de la relación), que
conecta entidades

Modela asociaciones entre objetos

6. Que es un gestor de base de datos.

Un ​Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase Management


System) es una colección de programas cuyo objetivo es servir de interfaz entre la base de
datos, el usuario y las aplicaciones. Se compone de un lenguaje de definición de datos, de
un lenguaje de manipulación de datos y de un lenguaje de consulta. Un SGBD permiten
definir los datos a distintos niveles de abstracción y manipular dichos datos, garantizando la
seguridad e integridad de los mismos.
Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc.
Un SGBD debe permitir:
• Definir una base de datos: especificar tipos, estructuras y restricciones de datos.
• Construir la base de datos: guardar los datos en algún medio controlado por el mismo
SGBD
• Manipular la base de datos: realizar consultas, actualizarla, generar informes.

Dato; unidad minima de informacion, a, b, c, 1 ,5, 7

Información; conjunto de datos procesados. estudiantes del quinto semestre de la carrera


de informática
Campo; ​En las bases de datos, un campo es la mínima unidad de almacenamiento de un
registro accesible. Un registro está compuesto de uno o más campos.
Fichero; ​Físicamente un fichero es el soporte en el que se encuentren almacenados o
registrados los datos de carácter personal, incluyendo a “todo conjunto organizado de datos
de carácter personal, que permita el acceso a los datos

ENTIDAD Y ATRIBUTO

Entidad

Las entidades están representadas por cosas u objetos, reales o abstractos, que se
diferencian claramente entre sí.
ejemplos sobre un taller mecánico:
● Coches (objeto físico): contiene la información de cada taller.
● Empleado (objeto físico): información de los trabajadores.
● Cargo del empleado (cosa abstracta): información de la función del empleado.
Atributos
Los atributos no son más que las características de la entidad . Cada entidad tiene distintos
atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos
tipos (numéricos, texto, fecha...).

Al analizar los atributos de la entidad "Coches", que nos darán información sobre los coches
de nuestro taller.

Unos posibles atributos serían los siguientes: número de chasis, matrícula, marca, modelo y
otros que complementan la información de cada coche.

CARACTERÍSTICAS DE LAS BASES DE DATOS

1. INDEPENDENCIA DE LOS DATOS: Como los datos no dependen del programa y por tanto 
cualquier aplicación puede hacer uso de los datos. 
 
2. • SEGURIDAD DE ACCESO Y AUDITORIA: Un SGBD debe permitir que tengamos un 
control sobre la seguridad de los datos. (Se registran los usuarios que ingresan a la base 
de datos, se crea toda una bitácora de actividades en la BD). 

 
3. REDUNDANCIA: Llamamos redundancia a la existencia de duplicación de los datos, al 
reducir ésta al máximo, conseguimos un mayor aprovechamiento del espacio y además 
evitamos que existan inconsistencias entre los datos.  

 
4. INCONSISTENCIAS: Las inconsistencias se dan cuando nos encontramos con datos 
contradictorios. 
 

Problemas que se pueden presentar en un fichero: explique con un ejemplo.


un fichero es su conexión con el mundo exterior, posibilitando el envío y la recepción de
información.
Coherencia de los resultados: Debido a que la información de la base de datos se recoge y se
almacenan una sola.
-Independencia de los datos.
-Disponibilidad: Es la eficiencia de los datos para el conjunto de los usuarios.
-Mayor eficiencia en recogida, validación de la entrada de los datos al sistema.
-Reducción del espacio de almacenamiento
PROBLEMAS
Instalación costosa.
Personas especializadas para el manejo de la información.
Ausencia real de normas: Es la ausencia estandarizada que facilite el manejo de las bases de
datos.
fases del diseño de una base de datos
1. DISEÑO CONCEPTUAL Cardinalidad
Cardinalidad de relaciones (1)
Un estudiante puede tomar varios cursos y en un curso puede haber varios estudiantes
Un docente puede dictar varios cursos, pero un curso es dictado por un único docente.
Cardinalidad de relaciones (2)
En la notación de Chen:
1 significa “hasta 1”
N significa “cualquier número”
Notación
1:1 (Director -< Dirige >- Instituto)
1:N (Docente -< Dicta >- Curso)
N:N (Estudiante -< Cursa >- Curso)

Veremos otras formas de asegurar que haya “al menos 1”

La cardinalidad es una restricción estructural del modelo

2. DISEÑO LÓGICO
3. DISEÑO FÍSICO
MODELO ENTIDAD RELACIÓN Es un diagrama que permite representar las entidades
relevantes de un sistema de información así como sus interrelaciones y propiedades
Elementos del Modelo Entidad-Relación
Entidades Son objetos distinguible del resto; pe en un sistema bancario, las personas y las
cuentas son entidades. Éstas pueden ser entes concretos, como una persona o un avión, o
abstractas, como un préstamo o una reserva. Se representan por medio de un rectángulo.
Atributos Con propiedades de las entidades. Se representan mediante un círculo o elipse,
cuando un atributo es identificativo de la entidad se subraya.
Relación Describe la dependencia entre entidades o permite la asociación de las mismas;
pe tenemos 2 entidades CLIENTE y HABITACIÓN, una relación sería que el cliente 'Pepito'
tiene 'ocupada' la habitación '519'. Se representan por medio de un verbo de acción dentro
de un rombo que une entidades.
Tipos de Relaciones:
1 a 1 Un esposo(e) está casado(r) con una única esposa(e) y viceversa.
1 a M Una factura(e) se emite (r) a una persona(e) y sólo a una, pero una persona(e) puede
tener(r) varias facturas(e) emitidas a su nombre. Todas las facturas(e) se emiten(r) a
nombre de alguien(e).
M a M Un cliente(e) puede comprar(r) varios productos(e) y un producto(e) puede ser
comprado(r) por varios clientes(e).
EJEMPLO:
LOS ESTUDIANTES DE 5TO SEMESTRE PARALELO B NECESITAN CREAR UNA BASE
DE DATOS PARA EL REGISTRO NOTAS ; PARA FACILITAR LA INFORMACIÓN DEL
REGISTRO DE NOTAS Y PODER SABER SI PASA O NO AL SIGUIENTE SEMESTRE

ESTUDIANTES OBTIENEN NOTAS


TIPOS DE CARDINALIDAD DE BD
Tipos de Relaciones:
1a1
Aparece cuando un registro de la tabla A sólo puede relacionarse con 1 registro de la tabla
B. Este modelo aparece en relaciones de tipo exclusivo, como por ejemplo
Países-Banderas, ya que cada país tiene una única bandera oficial, y cada bandera sólo
puede pertenecer a un país; otro ejemplo sería Matrículas de coches y Número de bastidor.

1 a varios
En este caso, un registro de la tabla A puede relacionarse con varios de la tabla B. Es el tipo
más habitual y utilizado, y existen numerosos casos; por ejemplo, domicilios con personas
que viven en el mismo, nombre de empresa con sus trabajadores, proveedores con
productos que sirven…

varios a varios
Se da si varios registros de A pueden relacionarse con varios de B y viceversa. Es quizás la
menos habitual de manera formal, aunque en futuras entradas veremos cómo podemos
plantear una situación de este tipo para manejarla de forma efectiva.

El ejemplo clásico, es tener dos tablas, una de actores y otra de películas, ya que lo habitual
es que cada actor haya trabajado en varias películas, y que éstas estén formadas por varios
actores.

1 a 1 Un esposo(e) está casado(r) con una única esposa(e) y viceversa.


1 a M Una factura(e) se emite (r) a una persona(e) y sólo a una, pero una persona(e) puede
tener(r) varias facturas(e) emitidas a su nombre. Todas las facturas(e) se emiten(r) a
nombre de alguien(e).
M a M Un cliente(e) puede comprar(r) varios productos(e) y un producto(e) puede ser
comprado(r) por varios clientes(e).

en este dis
estamos relacionando las entidades y aplicando las cardinalidades identificadas

en el modelo logico vemos como


¿Qué es sql?
SQL (Structured Query Language) no es más que un lenguaje de acceso a bases de datos
que permite realizar diversos tipos de operaciones en ellas, con la ayuda del álgebra y de
cálculos, el SQL brinda la posibilidad de realizar consultas con el objetivo de recuperar
información de las bases de datos de manera sencilla. Las consultas toman la forma de un
lenguaje de comandos que permite seleccionar, insertar, actualizar, averiguar la ubicación
de los datos, y más.
Historia del sql
La historia de SQL empieza en 1974 con la definición, por parte de Donald Chamberlin y de
otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje
para la especificación de las características de las bases de datos que adoptaban el modelo
relacional. Este lenguaje se llamaba SEQUEL (Structured English Query Language) y se
implementó en un prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las
experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del
lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales,
convirtiéndose en SQL. El prototipo (System R), basado en este lenguaje, se adoptó y utilizó
internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de
este sistema, que no estaba todavía comercializado, también otras compañías empezaron a
desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a
entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los
años ochenta, numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos)
comercializaron productos basados en SQL, que se convierte en el estándar industrial de
hecho por lo que respecta a las bases de datos relacionales.

En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como
estándar para los lenguajes relacionales y en 1987 se transformó en estándar ISO. Esta
versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido
diversas revisiones que han conducido primero a la versión SQL/89 y, posteriormente, a la
actual SQL/92.
El hecho de tener un estándar definido por un lenguaje para bases de datos relacionales
abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se
basan en él. Desde el punto de vista práctico, por desgracia las cosas fueron de otro modo.
Efectivamente, en general cada productor adopta e implementa en la propia base de datos
sólo el corazón del lenguaje SQL, extendiéndose de manera individual según la propia
visión que cada cual tenga del mundo de las bases de datos.
Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los comités
ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce
como SQL3. Las características principales de esta nueva encarnación de SQL deberían
ser su transformación en un lenguaje stand-alone (mientras ahora se usa como lenguaje
hospedado en otros lenguajes) y la introducción de nuevos tipos de datos más complejos
que permitan, por ejemplo, el tratamiento de datos multimediales.
Características ventajas y desventajas del sql
Instalacion y configuracion del sql
En esta ocasión veremos como instalar SQL Server 2012 en nuestras máquinas con
sistemas operativos clientes (no servidores).
Al empezar el proceso de instalación, nos aparece una ventana que nos indica que el
programa está procesando la operación actual.

luego de unos segundos nos muestra la pantalla del centro de instalación de SQL Server,
donde aparecen varias opciones a elegir, entre las que encontramos:
Planeamiento
Instalación
Mantenimiento
Herramientas
Recursos
Avanzadas
Opciones

Al aparecer la pantalla de Centro de Instalación, daremos clic en la opción Instalación y


nos mostrará varias opciones para poder instalar nuestro SQL Server 2012...
En esta ocasión haremos clic en la primera opción “Nueva instalación independiente
de SQL Server o agregar características a una instalación existente“.
Esto hará que el asistente de instalación se inicie y nos mostrará la ventana “Reglas
auxiliares del programa de instalación“, la cual se encargará de identificar problemas
que puedan surgir al momento de empezar a instalar los archivos auxiliares de instalación,

en caso de aparecer alguno, éste deberá ser corregido antes de continuar con la
instalación.

Al terminar de hacer el análisis y comprobar que todo está correcto, procedemos a dar
clic en el botón “Aceptar”.
Es importante mencionar que de haber algún problema o error detectado, aparecerá en
la sección estado un link que nos dará información referente al problema y su posible
solución.
Luego aparecerá una nueva ventana que nos solicitará la clave del producto.
Si no poseemos una clave de producto, podemos instalar una versión gratuita que tiene
una duración de 180 días para su uso, luego de este período, debemos activar dicha
versión.

Luego de escribir nuestra clave, damos clic en el botón “Siguiente”, y nos llevará a la
pantalla de los “Términos de licencia“.

En esta pantalla luego de leer los términos de la licencia y estar de acuerdo con los
mismos, seleccionamos la casilla “Acepto los términos de licencia”, también podemos
seleccionar la siguiente casilla para enviar datos de uso a Microsoft acerca de cómo
usamos nuestro SQL Server.
Nota: la segunda casilla no es obligatoria seleccionarla.

Luego de haber seleccionado la o las casillas correspondientes, damos clic en el botón


“Siguiente”, esto nos llevará a una nueva ventana de “Actualizaciones de productos“.
En esta ventana se hace una comprobación en línea de las actualizaciones más recientes
que podamos instalar para mejorar la seguridad y rendimiento de nuestro SQL Server.
En caso de no haber ninguna actualización disponible nos mostrará un mensaje
avisandonos que no se han encontrado actualizaciones.

Luego de terminar el proceso de actualizaciones damos clic en el botón “Siguiente”.

A continuación aparecerá la ventana “Instalar archivos de configuración“, la cuál


procederá a instalar las actualizaciones (en caso de existir), así como los archivos del
programa de instalación.
Luego de este paso aparecerá nuevamente la ventana “Reglas auxiliares del programa
de instalación“, pero esta vez comprobará las reglas necesarias para proceder a la
instalación final de nuestro SQL Server.

Luego de la comprobación de las reglas auxiliares, podremos ver los detalles de la misma

La advertencia que aparece en “Firewall de Windows” nos indica que el firewall de


Windows se encuentra habilitado y debemos comprobar que los puertos necesarios para
habilitar el acceso remoto se encuentren abiertos.
También podremos, al finalizar la comprobación, ver un informe detallado de la misma.
Después de revisar el informe detallado, cerramos el mismo y hacemos clic en el botón
“Siguiente” para llegar a la ventana “Rol de instalación“.
En esta ventana seleccionaremos la opción de instalación con las características que
consideremos más idóneas para nuestro SQL Server.

La primera opción nos permite seleccionar de forma individual las características que
instalaremos, mientras que la segunda opción instalará todas las características con sus
valores predeterminados.
En este paso a paso seleccionaremos la primera opción “Instalación de características
de SQL Server“
Al seleccionar la opción de instalación, procederemos a dar clic en el botón “Siguiente”,
esto nos llevará a la ventana “Selección de características“, en la cual seleccionaremos
todas las características que deseamos instalar.
Después de seleccionar las características necesarias, haremos nuevamente clic en el
botón “Siguiente” y llegaremos a la ventana “Reglas de instalación“.

Al comprobar que todas las reglas son cumplidas haremos clic en “Siguiente” para poder
ver la ventana “Configuración de instancia“.
Es en esta ventana en donde crearemos nuestra instancia, por defecto el nombre
predeterminada de la instancia es MSSQLSERVER, sin embargo si hacemos clic en la
opción “Instancia con nombre“, podremos colocar el nombre que nosotros
consideremos más apropiado para identificarla.
En “Directorio raíz de la instancia” podemos cambiar el lugar donde almacenaremos
o crearemos nuestra instancia, sin embargo si no tenemos experiencia es mejor dejar los
valores predeterminados que nos ofrece el asistente.
Luego de configurar nuestra instancia, damos clic en el botón “Siguiente” para llegar a la
ventana “Requisitos de espacio en disco“.

En esta ventana veremos los datos de espacio requerido y el espacio que tenemos
disponible para proceder con la instalación.

Luego de comprobar que realmente contamos con espacio suficiente para la instalación
damos clic en el botón “Siguiente”.
Luego aparecerá una nueva ventana “Configuración del servidor”, donde
especificaremos las cuentas de servicio y la configuración de intercalación.

Es muy recomendable utilizar una cuenta diferente para cada servicio, asignar una
contraseña distinta a cada uno y en la pestaña “Intercalación” dejar los valores por
defecto, salvo que sea en verdad necesario modificar esos valores.
Al finalizar de configurar las cuentas y contraseñas de nuestro servidor, procedemos a
dar clic en el botón “Siguiente” nuevamente, esto nos llevará a la ventana
“Configuración del Motor de base de datos“.

Errores de instalación
El primero,
Error instalando controlling

Solución:​ Se soluciona dejando la cuenta en blanco. Esto es debido a que esta funcionalidad
requiere de un dominio. El segundo error se presenta con la instalación de Reporting Services:

Solución: ​Se presenta cuando se había instalado una versión previa de SQL Server “Denali” en
el servidor. Esto ocurre porque la desinstalación de “denali” no es limpia y deja las carpetas y
bases de sistema existentes. La solución. Elimina estas bases y la instalación pasará sin
problema.
Tipos de datos en sql
SQL Server brinda una serie de tipos de datos para almacenar la información, la correcta
selección del tipo de dato es simplemente una cuestión de determinar qué valores desea
almacenar, como por ejemplo carácter, enteros, binario, fechas, etc.
Los siguientes objetos tienen tipos de datos:
Columnas de tablas y vistas.
Parámetros de procedimientos almacenados.
Variables.
Funciones de Transact-SQL que devuelven uno o más valores de datos de un tipo de datos
específico.
Procedimientos almacenados que devuelven un código, que siempre es de tipo integer.
Al asignar un tipo de datos a un objeto se definen cuatro atributos del objeto:

La clase de datos que contiene el objeto, por ejemplo, carácter, entero o binario.
La longitud del valor almacenado o su tamaño.
La precisión del número (sólo tipos de datos numéricos).
La precisión es el número de dígitos que puede contener el número.
La escala del número (sólo tipos de datos numéricos).
La escala es el máximo número de dígitos a la derecha del separador decimal.
Binario
Carácter
Fecha y Hora
Decimal
Punto Flotante
Entero
Monetario
Unicode
Los tipos de datos definidos por el usuario están basados en los tipos de datos disponibles
a través de SQL Server.
Los tipos de datos definidos por el usuario se pueden emplear para asegurar que un dato
tenga las mismas características sobre múltiples tablas.
Desde el Analizador de Consultas se puede usar el stored procedure del sistema
SP_ADDTYPE cuya sintaxis es la siguiente:

sp_addtype [@typename =] tipo,


[@phystype =] tipoDatosSistema
[, [@nulltype =] 'tipoNull']

Tipo de Datos Longitud Descripción

BINARY 1 byte Para consultas sobre tabla adjunta de


productos de bases de datos que definen un
tipo de datos Binario

BIT 1 byte Valores Si/No ó True/False

BYTE 1 byte Un valor entero entre 0 y 255.

COUNTER 4 bytes Un número incrementado automáticamente


(de tipo Long)

CURRENCY 8 bytes Un entero escalable entre


922.337.203.685.477,5808 y
922.337.203.685.477,5807.

DATETIME 8 bytes Un valor de fecha u hora entre los años 100 y


9999.

SINGLE 4 bytes Un valor en punto flotante de precisión simple


con un rango de - 3.402823*1038 a
-1.401298*10-45 para valores negativos,
1.401298*10- 45 a 3.402823*1038 para valores
positivos, y 0

DOUBLE 8 bytes Un valor en punto flotante de doble precisión


con un rango de - 1.79769313486232*10308 a
-4.94065645841247*10-324 para valores
negativos, 4.94065645841247*10-324 a
1.79769313486232*10308 para valores
positivos, y 0.

SHORT 2 bytes Un entero corto entre -32,768 y 32,767.

LONG 4 bytes Un entero largo entre -2,147,483,648 y


2,147,483,647

LONGTEXT 1 byte por De cero a un máximo de 1.2 gigabytes.


carácter

LONGBINARY Según se De cero 1 gigabyte. Utilizado para objetos


necesite OLE.

TEXT 1 byte por De cero a 255 caracteres.


carácter

La siguiente tabla recoge los sinónimos de los tipos de datos definidos:

Tipo de Dato Sinónimos


BINARY VARBINARY
BOOLEAN
LOGICAL
BIT
LOGICAL1
YESNO
BYTE INTEGER1
COUNTER AUTOINCREMENT
CURRENCY MONEY
DATE
DATETIME TIME
TIMESTAMP
FLOAT4
SINGLE IEEESINGLE
REAL
FLOAT
FLOAT8
DOUBLE IEEEDOUBLE
NUMBER
NUMERIC
INTEGER2
SHORT
SMALLINT
INT
LONG INTEGER
INTEGER4
GENERAL
LONGBINARY
OLEOBJECT
LONGCHAR
LONGTEXT MEMO
NOTE
ALPHANUMERIC
TEXT CHAR - CHARACTER
STRING - VARCHAR
VARIANT (No
VALUE
Admitido)
1. create database Práctica 1
2. Eliminar
3. Verificar las bases de datos existentes
Explicar las bases de datos del motor sql(model, master, msdb)
MASTER.​ ¿Para qué sirve MASTER? Almacena información de configuración de la
instancia de SQL Server, como puede ser la definición de los inicios de sesión (Logins), de
las bases de datos, de los errores del sistema, etc. Hay que tener en cuenta, que no toda la
configuración de la instancia se almacena en MASTER, pues por ejemplo, el modo de
autenticación (Windows o Mixto) se almacena en el registro.
También contiene los procedimientos almacenados extendidos, y muchos otros
procedimientos almacenados del sistema sólo disponibles en MASTER.
MSDB. ¿Para qué sirve MSDB? Principalmente tiene la función de dar soporte al Agente de
SQL Server, de tal modo que almacena la definición y planificación de JOBs, Planes de
Mantenimiento, etc. (incluyendo su historial de ejecución), así como almacena la definición
de otros objetos como Operadores, Alertas, etc. Esto implica, que el Agente de SQL Server,
que como sabemos es un servicio de Windows, se conectará a esta base de datos, y por
ello será necesario parar el Agente de SQL Server si deseamos hacer un RESTORE de la
misma, pues necesitaremos exclusividad.
Sin embargo, MSDB también se utiliza cuando el Agente de SQL Server no está presente,
como es el caso de SQL Express (que no incluye éste servicio) o en los casos en que no se
utiliza (ej: el Agente de SQL Server está parado). Por poner ejemplos, siempre que se
realiza una copia de seguridad (BACKUP DATABASE o BACKUP LOG) o una restauración
(RESTORE DATABASE o RESTORE LOG), se almacena en MSDB (tablas backupfile,
backupfilegroup, backupmediafamily, backupmediaset, backupset, restorefile,
restorefilegroup, restorehistory).
Por último, también permite servir de ubicación de almacenamiento de paquetes DTS (SQL
Server 2000) y DTSX (SQL Server 2005 - SSIS).
MODEL. ​¿Para qué sirve MODEL? Esta base de datos sirve de modelo. Siempre que se
crea una nueva base de datos (CREATE DATABASE), se realiza una copia de la base de
datos MODEL, heredando de ésta su configuración y contenido, salvo que se especifique lo
contrario. Por ejemplo, es posible establecer el Modo de Recuperación o Modo de Registro
de MODEL en SIMPLE (o sencillo), con el fin de evitar que al crear una base de datos por
defecto se utilice el Modo de Recuperación FULL (completo).
TEMPDB. ¿Para qué sirve TEMPDB? Almacena tanto los objetos temporales (tablas
temporales, procedimientos almacenados temporales, etc.), como los resultados
intermedios que pueda necesitar crear el motor de base de datos, por ejemplo durante la
ejecución de consultas que utilizan las cláusulas GROUP BY, ORDER BY, DISTINCT, etc.
Además, TEMPDB se crea de nuevo siempre que se inicia la instancia SQL Server,
tomando su tamaño por defecto. Dado que según necesite más espacio, TEMPDB crecerá
hasta el tamaño que necesite, y dado que el crecimiento de un fichero implica esperas
debidas a la entrada/salida, es muy importante en entornos críticos dimensionar
correctamente TEMPDB para que se cree con un tamaño apropiado, y evitar dichas esperas
de entrada/salida en tiempo de ejecución, justo cuando estamos ofreciendo servicio a los
usuarios. Evidentemente, estamos desplazando dichas esperas al momento de inicio de la
instancia, pero también conseguimos una ventaja adicional al crear de una vez TEMPDB:
limitamos la fragmentación (también muy importante en entornos críticos).
A partir de SQL Server 2005, también se utiliza al habilitar el modo de aislamiento
SNAPSHOT, así como al crear o reconstruir índices con la opción SORT_IN_TEMPDB.
DISTRIBUTION.​ ¿Para qué sirve DISTRIBUTION? No existe por defecto. Se crea al
habilitar una instancia de SQL Server como Distribuidor en un entorno de Replicación.
Durante el proceso de configuración del Distribuidor, se puede elegir el nombre de ésta
base de datos, por lo que no resulta estrictamente necesario que se llame DISTRIBUTION.
Almacena información como la definición de las Publicaciones, la definición de los Agentes
de Instantánea, etc.
MSSQLSYSTEMRESOURCE.​ ¿Para qué sirve MSSQLSYSTEMRESOURCE? Esta base
de datos es nueva en SQL Server 2005. Aparentemente está oculta (no podremos verla
desde SQL Server Management Studio). Es de sólo lectura y no contiene datos, sino por el
contrario, contiene el código de todos los objetos del sistema de SQL Server 2005. No es
accesible directamente, puesto que es necesario establecer el modo de usuario único
(single_user) para poder acceder a esta base de datos (USE
MSSQLSYSTEMRESOURCE). En cualquier caso, jamás se debe acceder a esta base de
datos.
Una de las principales diferencias entre SQL Server 2000 y SQL Server 2005, está en que
en SQL Server 2005 ya no es posible actualizar directamente las tablas del catálogo del
sistema, es decir, no funciona la opción 'allow update' de sp_configure. Todas las
manipulaciones de éste tipo, se deben de realizar a traves de los procedimientos
almacenados del sistema o de las propias sentencias del motor de base de datos (CREATE,
ALTER, DROP, etc.).

Comandos sql
CREATE DATABASE ​se utiliza para crear una nueva base de datos vacía.
DROP DATABASE​ se utiliza para eliminar completamente una base de datos existente.
CREATE TABLE​ se utiliza para crear una nueva tabla, donde la información se almacena
realmente.
ALTER TABLE​ se utiliza para modificar una tabla ya existente.
DROP TABLE​ se utiliza para eliminar por completo una tabla existente.
Manipulando los datos.
SELECT​ se utiliza cuando quieres leer (o seleccionar) tus datos.
INSERT​ se utiliza cuando quieres añadir (o insertar) nuevos datos.
UPDATE​ se utiliza cuando quieres cambiar (o actualizar) datos existentes.
DELETE​ se utiliza cuando quieres eliminar (o borrar) datos existentes.
REPLACE​ se utiliza cuando quieres añadir o cambiar (o reemplazar) datos nuevos o ya
existentes.
TRUNCATE​ se utiliza cuando quieres vaciar (o borrar) todos los datos de la plantilla.
And Or
En la sección anterior, hemos visto que la palabra clave WHERE también puede utilizarse
para seleccionar datos condicionalmente desde una tabla. Esta condición puede ser una
condición simple (como la que se presenta en la sección anterior), o puede ser una
condición compuesta. Las condiciones compuestas están formadas por múltiples
condiciones simples conectadas por AND u OR. No hay límites en el número de condiciones
simples que pueden presentarse en una sola instrucción SQL.

La sintaxis de una condición compuesta es la siguiente:

SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condición simple"
{[AND|OR] "condición simple"}+;
{}+ significa que la expresión dentro de las llaves ocurrirá una o más veces. Note que AND u
OR pueden utilizarse indistintamente. Además, podemos utilizar el símbolo paréntesis ( )
para indicar el orden de la condición.
Order By
Hasta ahora, hemos visto cómo obtener datos de una tabla utilizando los comandos
SELECT y WHERE. Con frecuencia, sin embargo, necesitamos enumerar el resultado en un
orden particular. Esto podría ser en orden ascendente, en orden descendente, o podría
basarse en valores numéricos o de texto. En tales casos, podemos utilizar la palabra clave
ORDER BY para alcanzar nuestra meta.

La sintaxis para una instrucción ORDER BY es la siguiente:

SELECT "nombre_columna"
FROM "nombre_tabla"
[WHERE "condición"]
ORDER BY "nombre_columna" [ASC, DESC];
[ ] significa que la instrucción WHERE es opcional. Sin embargo, si existe una cláusula
WHERE, viene antes de la cláusula ORDER BY ASC significa que los resultados se
mostrarán en orden ascendente, y DESC significa que los resultados se mostrarán en orden
descendente. Si no se especifica ninguno, la configuración predeterminada es ASC.
Group By
Ahora regresamos a las funciones de agregados. ¿Recuerda que utilizamos la palabra clave
SUM para calcular las ventas totales para todos los negocios? ¿Y si quisiéramos calcular el
total de ventas para cada negocio? Entonces, necesitamos hacer dos cosas: Primero,
necesitamos asegurarnos de que hayamos seleccionado el nombre del negocio así como
también las ventas totales. Segundo, debemos asegurarnos de que todas las sumas de las
ventas estén GROUP BY negocios. La sintaxis SQL correspondiente es,

SELECT "nombre1_columna", SUM("nombre2_columna")


FROM "nombre_tabla"
GROUP BY "nombre1-columna";
Count
Otra función aritmética es COUNT. Esto nos permite COUNT el número de filas en una
tabla determinada. La sintaxis es,

SELECT COUNT("nombre_columna")
FROM "nombre_columna";

Profesor: /*
Caso Desarrollado Nº 1
Implementar un script que permita crear la base de datos METROPOLITANO con
valores estandar.
*/
CREATE DATABASE METROPOLITANO
GO

--Verificar los valores estandar de la base de datos


SP_HELPDB METROPOLITANO
Profesor: /*
Caso Desarrollado Nº 2
Implementar un script que permita crear la tabla BOLETA dentro de la base de datos
METROPOLITANO
con las siguientes caracteristicas:

----------------------------------------------------
BOLETA Nº 000000011515452

FECHA DE EMISION: 06/01/2017


MONTO: 10.00
----------------------------------------------------
*/
USE METROPOLITANO
GO

CREATE TABLE BOLETA (


numeroBoleta CHAR(15)NOT NULL,
fechaEmision DATE NOT NULL,
monto MONEY NOT NULL
)
GO
VERIFICAR LOS VALORES ESTÀNDAR DE LA TABLA EJEMPLO2
id_num int IDENTITY(1,1),
INSERT INTO BOLETA VALUES ('00000001','22/04/2008',200)
INSERT INTO BOLETA VALUES ('00000001','22/04/2008',200)
CREATE PROCEDURE SP_TOTALBOLETAS
AS
BEGIN
SELECT YEAR(FECHAEMISION) AS [AÑO],
COUNT(*) AS [TOTAL]
FROM BOLETA
GROUP BY YEAR(FECHAEMISION)
END
--Probando la funcion usando una consulta:
SELECT DBO.FN_TOTALBOLETAS(2007) AS [TOTAL DE BOLETAS]

--O usando el comando Print:


PRINT 'EL TOTAL DE BOLETAS ES: '+STR(DBO.FN_TOTALBOLETAS(2007))

use metropolitano
use master

use METROPOLITANO
/* CREAR TABLA*/
sp_helpdb METROPOLITANO
create table BOLET(
NUMEROBOLETA CHAR (15) NOT NULL
PRIMARY KEY (NUMEROBOLETA),
FECHADEEMISION DATE,
MONTO MONEY);

/* ------------ LLENADO DE REGISTROS A LA TABLA BOLETA ------------*/


INSERT INTO BOLET VALUES ('00000001','22/04/2008',200)
INSERT INTO BOLET VALUES ('00000002','02/01/2008',350)
INSERT INTO BOLET VALUES ('00000003','03/10/2008',250)
INSERT INTO BOLET VALUES ('00000004','01/05/2007',150)
INSERT INTO BOLET VALUES ('00000005','07/12/2008',200)
INSERT INTO BOLET VALUES ('00000006','16/08/2008',120)
INSERT INTO BOLET VALUES ('00000007','03/01/2007',50)
INSERT INTO BOLET VALUES ('00000008','05/03/2007',200)
INSERT INTO BOLET VALUES ('00000009','14/09/2008',10)
INSERT INTO BOLET VALUES ('00000010','18/12/2008',50)
INSERT INTO BOLET VALUES ('00000011','09/11/2007',100)
INSERT INTO BOLET VALUES ('00000012','06/10/2007',80)

SP_HELPDB METROPOLITANO

/*INSERTAR UN TRIGGER*/
CREATE TRIGGER TX_MENSAJ
ON BOLET
FOR INSERT, UPDATE
AS
PRINT 'LA BOLETA SE ACTUALIZO CORRECTAMENTE'

SELECT * FROM BOLET


INSERT INTO BOLET VALUES ('00000013','06/10/2018',800)
INSERT INTO BOLET VALUES ('00000015','09/11/2018',300)
SELECT * FROM INFORMATION_SCHEMA.TABLES
SELECT NAME FROM MASTER.DBO.SYSDATABASES
/*ACTUALIZAR TABLA*/
UPDATE BOLET
SET FECHADEEMISION='05/03/2007',
MONTO=1000
WHERE NUMEROBOLETA=00000022

/*CREATE PROCEDURE PRODUCTO


@LASTNAME NVARCHAR(50),
@FIRSTNAME NVARCHAR(50)
AS
PRINT*/

INSERT INTO BOLET(SALARIO)

CREATE PROCEDURE MEDIAN (OUT medianSalary DOUBLE)


RESULT SETS 1
LANGUAGE SQL
BEGIN
DECLARE v_numRecords INT DEFAULT 1;
DECLARE v_counter INT DEFAULT 0;

DECLARE c1 CURSOR FOR


SELECT CAST(salary AS DOUBLE)
FROM BOLET
ORDER BY salary;
DECLARE c2 CURSOR WITH RETURN FOR
SELECT FECHADEEMISION, MONTO, CAST(SALARIO AS INTEGER)
FROM BOLET
WHERE SALARIO > medianSalary
ORDER BY SALARIO;

DECLARE EXIT HANDLER FOR NOT FOUND


SET medianSalary = 6666;

CREATE PROCEDURE SP_TOTALBOLET


AS
BEGIN
SELECT YEAR(FECHADEEMISION) AS [AÑO],
COUNT(*) AS [TOTAL]
FROM BOLET
GROUP BY YEAR(FECHADEEMISION)
END
EXEC SP_TOTALBOLET
SELECT * FROM BOLET
SELECT MAX(MONTO) AS [VALOR MAXIMO] FROM BOLET

/*
Caso Desarrollado Nº 5
Implementar un script que permita crear la funcion FN_TOTALBOLETAS de un
determinado año
ingresado por el usuario a la tabla BOLETA.
*/
CREATE FUNCTION IVA (@MONTO money)
RETURNS money
AS
BEGIN
Declare @RESULTADO money
Set @RESULTADO=@MONTO*.12
Return(@ESULTADO)
END
EXEC IVA

_________________________________________________________________________
use master

SELECT * FROM practica


/*si la base de datos ventas existe(ventas que no acepta valores nulos, empiece
eliminando la base de datos venta)*/

if db_id('ventas') is not null


begin drop database ventas
end

create database ventas(


size = 10,
maxsize = 50,
filegrowth =

create database ventas ON PRIMARY


(
NAME=ventas_data,
FILENAME='D:\VENTAS.mdf',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=1MB
)
LOG ON
(
NAME=VENTAS_log,
FILENAME='D:\VENTAS.ldf',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=1MB
)
use ventas

/*Profesor:*/
CREATE TABLE CLIENTE
(NUMCLI INT not null,
NOMCLI CHAR(30) not null,
DIRCLI char(30), FAX INT,
E_MAIL CHAR(30) DEFAULT ('Desconocido'),
SALD_0_30 DECIMAL (10,2),
SALD_31_60 DECIMAL (10,2),
SALD_61_90 DECIMAL (10,2), primary key (NUMCLI) )
/*Creación de Tabla Vendedor*/
CREATE TABLE VENDEDOR
(CODVEND INT not null,
NOMVEND char(20) not null,
APELLVEND char(20) not null,
DIRVEND char(30),
TELVEND INT, E_MAIL CHAR(30)
DEFAULT('Desconocido'),
CUOTA DECIMAL (10,2),
VENTAS DECIMAL (10,2), primary key(CODVEND) )
/*Creación de Tabla Artículo*/
CREATE TABLE ARTICULO
(NUMART char(4) not null PRIMARY
KEY,
DESCRIPCION CHAR(30),
PRECIO DECIMAL (10,2) NOT NULL CHECK (PRECIO >= 0.00),
EXISTENCIA INT,
CATEGORIA_ART CHAR (15))

/*Creación de Tabla Pedido*/


CREATE TABLE PEDIDO
(NUMPED INT not null PRIMARY KEY,
NUMCLI INT not null, CODVEND INT NOT NULL,
FECHA_PED DATETIME,
TOT_DESC DECIMAL (10,2),
FOREIGN KEY (NUMCLI) REFERENCES CLIENTE(NUMCLI) ,
FOREIGN KEY (CODVEND) REFERENCES VENDEDOR(CODVEND))

/*Creación de Tabla Detalle_Ped*/


CREATE TABLE DETALLE_PED (NUMPED INT not null,
NUMART char (4) not null, CANTIDAD INT CHECK (CANTIDAD >=
0), PRIMARY KEY (NUMPED,NUMART),
FOREIGN KEY (NUMPED) REFERENCES PEDIDO(NUMPED),
FOREIGN KEY (NUMART) REFERENCES ARTICULO (NUMART) )

SP_HELPDB ventas
select * from CLIENTE
select * from ARTICULO
select * from PEDIDO
select * from DETALLE_PED
alter authorization on database:: ventas to sa

_________________________________________________________________________