lunes, 8 de noviembre de 2010

Base De Datos

Con el fin de mostrar de forma practica los temas aprendidos en el modulo de base de datos  del diplomado en "Uso de nuevas tecnologias para la investigacion aplicada a la ingenieria" se ha realizado una base de datos que almacena las caracteristicas principales de proyectos estructurales; con esto, se podrán realizar cálculos para conocer una estimación de las cantidades de obra a utilizar en el proyecto y comprobar parámetros  de cumplimiento de la norma NSR-10 tales como acero de refuerzo mínimo y cumplimiento de derivas.




Explicación de la base de datos

A continuacion se mostrarán las relaciones correspondientes a la base de datos de las principales caracteristicas de proyectos estructurales:

A continuacion se explicarán las relaciones representadas por el diagrama anterior:

1- La tabla Edificios presenta una relacion de uno a uno con la tabla Ubicaciones, debido a que cada edificio solo puede tener una ubicacion y en una ubicacion debe existir un unico edificio.

2- Debido a que un edificio esta compuesto por varios pisos, la tabla Edificios presenta una relacion de uno a muchos con la tabla Pisos.

3- Debido a que un piso esta compuesto por varios elementos estructurales, la tabla Pisos presenta una relacion de uno a muchos con la tabla Elementos.

A continuación se presentarán las tablas del motor de busqueda Microsoft Office Access en donde se creo la base de datos:

Tabla Edificios:



ID edificio: llave principal de la tabla.
Nombre: Muestra el nombre del edificio.
Altura: Muestra la altura en metros del edificio.
Sistema Estructural: Muestra el tipo de sistema estructural utilizado para la realizacion del edificio.
Ubicacion: Muestra el sitio donde esta ubicado el edificio.


Tabla Ubicaciones:
 

ID edificio: Llave principal de la tabla.
Edificio: Muestra el nombre de la edificación.
Barrio: Muestra el barrio en el que esta ubicado el edificio.
Dirección: Muestra la ubicación del edificio.
Estrato: Es el numero de estrato del barrio al cual pertenece la edificación.


Tabla Pisos:
 


ID piso: Llave principal de la tabla pisos.
Nivel: Numero del nivel en el que se encuentra el piso representando la ubicación en cada uno de los edificios.
Edificio: Muestra el nombre del edificio.
Nelementos: Muestra la cantidad de elementos que tiene cada nivel de cada edificio.
Carga HX: Muestra la carga horizontal aplicada en direccion X a cada nivel de cada edificio.
Carga Hy: Muestra la carga horizontal aplicada en direccion Y a cada nivel de cada edificio.
Carga V: Muestra la carga vertical aplicada a cada nivel de cada edificio.
Deriva Máxima: Muestra cual es la deriva maxima de cada nivel dependiendo de la altura de entrepiso del mismo.




Tabla Elementos:
 

ID elemento: Llave principal de la tabla elementos.
Tipo: Define la caracteristica del elemento en consideración.
Piso: Muestra el ID del piso en donde se encuentra el elemento.
Base: Muestra la dimension en cm de la base del elemento.
Altura: Muestra la dimension en cm de la altura del elemento.
Cortante: Muestra la fuerza cortante que se presenta en el elemento en consideración en kilo newtons.
Axial: Muestra la fuerza axial que se presenta en el elemento en consideración en kilo newtons.
Momento: Muestra el momento que se presenta en el elemento en consideración en kilo newtons.
CargaV: Muestra la carga vertical que se presenta en el elemento en consideración en kilo newtons.
Ast: Representa el area de refuerzo superior de la sección trasversal del elemento en centimetros cuadrados.
Asb: Representa el area de refuerzo inferior de la sección trasversal del elemento en centimetros cuadrados.
Asv: Representa el area de refuerzo necesario para cubrir la solicitación a esfuerzo cortante de la sección trasversal del elemento en centimetros cuadrados.






Datos de Ejemplo

A continuacion se anexas unas tablas con datos a manera de ejemplo para un mejor entendimiendo de la funcionalidad de la base de datos.

Tabla Edificios:



Tabla Ubicaciones:



Tabla Pisos:
 

Tabla Elementos:

Posibles Consultas

1.    Listar el nombre, la altura, el sistema estructural  y la ubicación de los edificios que se encuentren en un barrio estrato cinco.

SELECT nombre, altura, ubicacion, estrato
FROM edificios INNER JOIN ubicaciones
ON (edificios.idedificio = ubicaciones.edificio)
WHERE (estrato=5);
2.    Listar el nombre del edificio, la altura y el nivel en donde las derivas máximas por piso exceden el 0.02.

SELECT nombre, altura, nivel, derivamaxima
FROM edificios INNER JOIN pisos
ON (edificios.idedificio=pisos.edificio)
WHERE (derivamaxima>0.02);

3.    Listar el nombre del edificio, el nivel y el área de refuerzo superior e inferior

SELECT  nombre,nivel,idelemento,ast,asb
FROM edificios INNER JOIN (pisos INNER JOIN elementos ON pisos.idpiso =elementos.piso)
ON (edificios.idedificio = pisos.edificio);

4.    Listar el número de elemento, el tipo y las dimensiones que presentan los elementos que tienen una carga axial mayor a quinientos kilo newtons.

SELECT idelemento,tipo, base, altura, axial
FROM elementos
WHERE (axial>500);


5.    Listar el nombre de los edificios que están ubicados en el barrio Provenza o en un barrio con estrato seis.

SELECT nombre,barrio,estrato
FROM edificios INNER JOIN ubicaciones
ON (edificios.idedificio = ubicaciones.edificio)
WHERE  estrato=6
UNION
SELECT nombre,barrio,estrato
FROM edificios INNER JOIN ubicaciones
ON (edificios.idedificio = ubicaciones.edificio)
WHERE  barrio=’provenza’;

6.    Listar el nombre de los edificios y la suma del acero de refuerzo total por elemento que se necesita para cumplir las solicitaciones de carga.

SELECT  nombre, Nelementos, ast, asb, asv,(ast+asb+asv) as Suma
FROM edificios INNER JOIN (pisos INNER JOIN elementos ON pisos.idpiso =elementos.piso)
ON (edificios.idedificio = pisos.edificio);

7.    Listar los elementos que tienen como solicitación mayor de carga el momento flector y decir a que edificio pertenecen.

SELECT  nombre, idelemento, cortante, axial, momento
FROM edificios INNER JOIN (pisos INNER JOIN elementos ON pisos.idpiso =elementos.piso)
ON (edificios.idedificio = pisos.edificio)
WHERE (momento>cortante) AND (momento>axial);

8.    Listar el nombre de los edificios que tienen más de treinta elementos en alguno de sus pisos o que presentan derivas mayores a 0.02.

SELECT nombre,nelementos,derivamaxima
FROM edificios INNER JOIN (pisos INNER JOIN elementos ON pisos.idpiso =elementos.piso)
ON (edificios.idedificio = pisos.edificio)
WHERE  nelementos>34
UNION
SELECT nombre,nelementos,derivamaxima
FROM edificios INNER JOIN (pisos INNER JOIN elementos ON pisos.idpiso =elementos.piso)
ON (edificios.idedificio = pisos.edificio)
WHERE derivamaxima>0.02;


9.    Listar los edificios de menor a mayor altura y de tener la misma altura ordenar por orden alfabético descendente.

SELECT nombre,altura
FROM edificios
ORDER BY altura, nombre desc; 


10.    Listar los nombres de los edificios con sus respectivas solicitaciones de carga y momento por nivel.

SELECT nombre, nivel, cargahx, cargahy, cargav
FROM edificios INNER JOIN pisos
ON (edificios.idedificio = pisos.edificio);