Scrip para darle mantenimiento a las tablas de una base de datos
*********************************************************
--Creación de Base de Datos Préstamos
drop database prestamos;
CREATE DATABASE Prestamos
ON
PRIMARY
(NAME = Prestamos_Primary,
FILENAME = 'C:\Prestamos\Prestamos_Primary.mdf',
SIZE = 50MB,
MAXSIZE = 200,
FILEGROWTH = 20),
FILEGROUP VentasFG
( NAME = VentasData1,
FILENAME = 'C:\Prestamos\PrestamosData1.nfd',
SIZE = 200MB,
MAXSIZE = 800,
FILEGROWTH = 100)
LOG ON
( NAME = Archlog1,
FILENAME = 'C:\Prestamos\Prestamos_Log.lfd',
SIZE = 300MB,
MAXSIZE = 800,
FILEGROWTH = 100);
---Crear Tablas de Base de Datos
use prestamos;
go
--1: Tabla de clientes
Create TABLE dbo.Clientes
(ID_Cliente varchar(12) PRIMARY KEY,
CONSTRAINT chkid_cliente check --chkid_cliente es el nombre del constraint
(ID_Cliente like '[0-9][0-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'),--corquetes= valores prmitidos
Nombre varchar(50) NOT NULL,
Apellido1 varchar(50) NOT NULL,
Apellido2 varchar(50) NOT NULL,
Fecha_Nacimiento datetime NOT NULL,
Sexo varchar(1) NOT NULL,
CHECK (sexo ='M' or sexo='F'),
codigo_pais int NOT NULL,
codigo_provincia int NOT NULL,
Estado_Civil varchar(1) NOT NULL);
--Agregar campos a la tabla de clientes
Alter Table dbo.Clientes
Add Lugar_Trabajo varchar(50) default 'Universidad Americana',
Usuario_Incluye varchar(50);
--Ver detalle de la tabla dbo.clientes
EXEC sp_help Clientes;
--Eliminar campos de la tabla clientes
Alter Table dbo.Clientes
Drop column Usuario_Incluye;
--Modificar el tamaño en un campo de una tabla
Alter Table dbo.Clientes
Alter column Lugar_Trabajo varchar(100);
--Modificar el tipo de datos en un campo de una tabla
Alter Table dbo.Clientes
Alter column Estado_Civil int;
--Insertar datos a la tabla dbo.clientes
insert into dbo.clientes (id_cliente,nombre,apellido1,apellido2,fecha_nacimiento,sexo,estado_civil,
codigo_pais, codigo_provincia)
values('01-0000-0322','Carlos Alberto','Molina','Gutiérrez',convert(datetime,'10/15/1970'),'F',1,
1, 1);
--Seleccionar todos los campos de la tabla y observar su contenido
select * from dbo.clientes;
--2: Tabla de préstamos
Create TABLE dbo.prestamos
(ID_prestamo varchar(12) unique, --valor unico
tipo_prestamo int NOT NULL,
monto_prestamo money NOT NULL,
fecha_formalizacion datetime NOT NULL,
fecha_desembolso datetime NOT NULL,
fecha_vencimiento datetime NOT NULL);
--3: Tabla Relación de Préstamos y Clientes (Muchos clientes pueden tener muchos prestamos y viceversa)
Create Table dbo.Cliente_x_Prestamo
(ID_prestamo varchar(12),
ID_Cliente varchar(12),
tipo_relacion varchar(1)
---LLave primaria de dos campos de la tabla
CONSTRAINT PK_Cliente_x_Prestamo PRIMARY KEY CLUSTERED --clustered se ordena de acuerdo a estos campos
(id_prestamo ASC, id_cliente ASC),
--LLaves foraneas de las tablas clientes y prestamos respectivamente
FOREIGN KEY (ID_cliente) REFERENCES dbo.Clientes(ID_cliente),
FOREIGN KEY (ID_prestamo) REFERENCES dbo.prestamos(ID_prestamo));
--Inserción de datos FALTA CLIENTE Y PRESTAMO
insert into dbo.cliente_x_prestamo (ID_prestamo,ID_Cliente,tipo_relacion)
values(1,'01-0888-0999',1);
--Tiene que insertar el cliente
insert into dbo.clientes (id_cliente,nombre,apellido1,apellido2,fecha_nacimiento,sexo,estado_civil,
codigo_pais, codigo_provincia)
values('01-0888-0999','Carlos Alberto','Molina','Gutiérrez',convert(datetime,'10/15/1970'),'F',1,
1, 1);
--Volver a insertar la relación PRESTAMO NO EXISTE
insert into dbo.cliente_x_prestamo (ID_prestamo,ID_Cliente,tipo_relacion)
values(1,'01-0888-0999',1);
--Tiene que insertar el préstamo
insert into dbo.prestamos (id_prestamo,monto_prestamo,fecha_formalizacion,fecha_desembolso,fecha_vencimiento, tipo_prestamo)
values (1,1000000.00,'02/01/2010','02/01/2010','02/01/2020', 1);
--Volver a insertar la relación
insert into dbo.cliente_x_prestamo (ID_prestamo,ID_Cliente,tipo_relacion)
values(1,'01-0888-0999',1);
select * from dbo.cliente_x_prestamo;
--Creación de reglas para campos de tablas
CREATE RULE Formato_prestamo --es lo mismo que un constraint
AS --se cuando ya se ha creado la tabla
@value like '[0-9][0-9][0-9]';--no debe de haber valores en la tabla diferentes al formato
--Enlace de regla
EXECUTE sp_bindrule 'Formato_prestamo','dbo.prestamos.id_prestamo';--le asigno la regla al campo de la tabla
--Volver a insertar el prestamo
insert into dbo.prestamos (id_prestamo,monto_prestamo,fecha_formalizacion,fecha_desembolso,fecha_vencimiento, tipo_prestamo)
values ('111',1000000.00,'02/01/2010','02/01/2010','02/01/2020',1);
--Agregar nuevas llaves foraneas a la tabla clientes
CREATE TABLE PAIS (
codigo_pais INT primary key,
descripcion varchar(50));
--borrado en cascada
delete from cliente_x_prestamo
delete from prestamos
delete from clientes
--agrega a la tabla ya creada una llave foranea
ALTER TABLE DBO.CLIENTES add
FOREIGN KEY (codigo_pais) REFERENCES dbo.pais(codigo_PAIS);
--agrega dos campos y una llave foranea
CREATE TABLE Provincia (
codigo_provincia INT primary key,
codigo_pais int,
FOREIGN KEY (codigo_pais) REFERENCES dbo.pais(codigo_PAIS),
descripcion varchar(50));
ALTER TABLE DBO.CLIENTES add
FOREIGN KEY (codigo_provincia) REFERENCES dbo.provincia(codigo_provincia);
--Borrado de tablas
drop table dbo.cliente_x_prestamo;
drop table dbo.prestamos;
drop table dbo.clientes;
Acerca de:
El objetivo del blog es ayudarte como estudiante a prepararte mejor para los exámenes, proyectos y demás situaciones que enfrentes durante la carrera. Asi mismo es una herramienta de consulta para los profesionales en TI.
Material y sugerencias: ingenierosTI@gmail.com
El código es un pequeño ejemplo de como trabajar en C#, lo que les dejo es una pequeña porción del Sistema Real, pero que de seguro les ayudará mucho en lo que andan buscando.
Una parte del mismo está programado en capas.
En el .rar a descargar esta la carpeta para el visual studio y una parte de la base de datos SQL
Descargar
¿Como Recorrer un DataGridView y Cargarlo en una Lista Genérica?
//aqui se debe instanciar la lista generica deseada... para este ejemplo la llamaremos XXXX
//recorre el datagridview linea a linea
for (int x = 0; x < nombredatagridview.RowCount; x++)
{
//instanciar un item de la lista generica
nombre_lista_generica item = newnombre_lista_generica();
//extrae el valor de las columnas del datagridview
//entre las comillas va el nombre de la columna numero "x" del datagridview
//los datos extraidos del datagridview son convertidos de acuerdo al tipo de dato d la propiedad n la lista generica
item.n_linea = Convert.ToInt32(nombredatagridview.Rows[x].Cells[" "].Value);//convierte a integer
item.cod_producto = (string)nombredatagridview.Rows[x].Cells[" "].Value;//convierte a string
item.valor_unitario = Convert.ToSingle(nombredatagridview.Rows[x].Cells[" "].Value);//convierte a float
//agregar el item a la lista generica
XXXX.Add(item);
}//fin del for que recorre el datagridview
Les dejo disponible el material que pude recopilar para el segundo examen, entre los temas que podrán encontrar en el archivo a descargar están:
- Arquitectura de computadoras
- Elementos básicos internos
- Sistemas de memorias
- Introducción a la arquitectura de cpu
- Paginación y caché
- Sistema de Entradas y Salidas
¿Como mandar a imprimir "x" conjunto de datos desde una aplicación de windows forms?
Pues AQUÍ tienen un breve ejemplo montado en C#, al igual que un archivo con información sobre los objetos de impresión que trae Visual Studio 2008 (printdialog, printdocument, printpreviewcontrol.. etc).
En el ejemplo se encuentran aplicados los objetos: PrintDocument & PrintDialog
Download
Una pequeña práctica introductiva a Bases de Datos.... La misma utiliza una interfaz de usuario mediante formularios hechos en NetBeans para, así, conectarse a una BD MySql server.
Espero y les sea de ayuda.
Descargar
.... !!! Punteros, Nodos, Listas doblemente enlazadas, pilas, colas... todo implementado en un poco de código en C, implementado para el control de citas médicas, relacionandose con entidades como: medicos, pacientes, especialidades por médico... entre otras... espero y les sea de ayuda.
Descargar
Aquí Les dejo algo de info sobre UML, Casos de Uso, Diagramas, Orientacion a Objetos, Relaciones.... y demás aspectos que en cualquier momento pueden servirnos d mucho.
Slds.