sábado, 21 de agosto de 2010

caracteristicas c# 4.0 - Metodos

Accesos a Datos I.

Hola amigos soy JdNIstch y les voy a platicar en estas pocas ocaciones sobre Acceso a Datos ya que he estado teniendo capacitaón sobre estas disciplinas.

Comenzamos......

Los conceptas basicos que manejarémos seran sobre Base de Datos(BDD) y manejaremos algunos ejemplo que podre subir a mi Skydrive.

Introducción:

Las Bases de datos se han utilizado desde siempre, debido a que el hombre a necesitado tener un control de las cosas, los primeros tipos de registros de información se encontraron en diferentes materiales como es piadra, madera y más con el fn de que quedará registrado un hecho o idea.

Ahora en el tiempo de la información esto a ido evolucionando y en la aplicación de tecnologias se han ido mejorando las tecnicas de almacenamiento y ahora existen entes informaticas donde llevar acabo este tipo de registos.

Ahora en con la computadora se pueden almacenar los datos tal cual sin necesidad de intreoducir información no significante com por ejemplo en una empresa si hacen porductos de 1Kg el dato es 1Kg y su interpretación es el producto que se esta haciendo.

Asi que se separó el dato de su significado debido a facilitar la interpretacion de los datos y es donde surgen los modelos de BDD.

Desarrollo:

Una BDD es un conjunto de datos que pertenecen a un mismo contexto; por contexto nos referimos a que estan dentro de conincidencias de la representación abstracta del mundo real a modelar, esto quiere decir que si estamos modelando un sistema en el que se lleve el control de la información de las pesonas que nacen en determinaod lugar, toda esta información que vamos a almacen en unstra BDD debe ser referida a la función, y no nos será util procesar información que no este dentro de los requisitos.

Osea pocas palabras la BDD debe tener:
-La informació comparte caracteristicas seimilares.
-Alamacena información para su uso posterior.
-Persistencia (Información generada por e sistema).
-La información debe de ser facilmente extraida, objetivo principal.

Un Data Base Management System(DBMS) es un sistema o conjunto de programas que reciben y procesan la información para almacenarla y después procesarla.

Algunos DBMS son:
-MySQL.
-SQL Server.
-PostgresSQL.
-Firebird.
-Informix.

El uso de un DBMS es debido a que estos sistemas que procesan la informacion nos ayudan a mejor el tiempo de respues para operaciones CRUD como pueden ser en inserción y extracción, Asi mismo podemos manejar que es independiente del espacio físico en donde se encuentran los datos o la aplicación cliente, también podemos mensionar el control de acceso a la información ya que estos progrmas nos ayudan a controlar concurrencia y la información estará disponible en para el usuario segun su turno asi como la seguridad de los datos, y por ultimo nos ayuda a evitar redundancia de información.

Modelos de BDD son:
-Modelo Jerarquico.
-Modelo de Red.
-Modelo Relacional.
-Modelo Orientado a Objetos.
-Modelos Documentales.

Más Adelante hablaremos y desarrollaresmos algunos de los Modelos de BDD, pero en esta serie de escritos manejaresmo en especial el Modelo Relacional.

Contexto de DBMS.
-Multi-Tiers.



En sistema la base de datos puede estar en otro lugar direfente al sistema con el que opera en usuario, a las interfaces graficas con las que opera el usuario se les llama front end porque es la frontera entre el usuario y los procesos y demas que se llevan a cabo en el sistema.





Aqui en la imagen se muestra un multiple numero de usuarios que accesan a un servidor web por medio de un cliente a un sevidor web en donde el servidor web puede accesar a al DBMS y a las proceos del sistema y estos pueden estar en otro lugar fisico drferente al servidor web.





BDD Relaciona: Es el conjunto de Dominios(Tablas) que estan compuestos por filas y columnas , vinculadas, que son identificables univocamente por un campo cuyo valor puede ser unico.

Se organiza por:
-Tablas: Conjunto de Filas relacionasdas.
-Filas: Conjunto de Campos relacionados (Columnas).
-Campos: Es la unidad de información mas pequeña en la que se puede trabajar la información.

Los nombres de los dominios son simpre sustantivos, al igual aplica para los dominios candidatos los cuales se pueden convertir en tablas de nuestro sistema, lo cual quiere decir que los nombre de nuestros dominio pueden ser por ejemplo en un sistema de airopuerto podrian ser: Boleto, Pasajero, avion; Siempre como buena practica recomiendo pongamos los nombres d elos dominios en singular ya que esto nos evitari problemas al momento de hacer conjuntos de datos como pueden ser listas y algunos otros casos.


Normaización: Estas son reglas de como crear los dominios de nuestra BDD, ya que tiene algunas de las principales sugerencias de las esctructuras para tener en cuenta al crearlos.

Grados:

  1. En la Pimera Forma Normal nos dice que debemos: a)Eliminar campos repetidos, b)Guardar un solo valor por campo.
  2. La Sgunda Forma Normal no dice que: Asegurar que todas las filas se puedan identificar de forma unica.
  3. La Tercera Forma Normal dice: Eliminar cualquier dependencia transitiva, es decir, eliminar campos que se puedan inferir de otros.

Estas son las principales regals de Normalización para una BDD, existen 6 reglas que se proponen para llevar la a cabo, sin embargo, yo solamente recomiendo hacer estas 3 formas ya que si aplicamos de la 4 a la 6 la base de datos se fragmenta y puede llegar a ser más dificil la extracción de datos, solamente para aplicar las 6 reglas la recomiendo cuando se necesite tenr performance en el DBMS o salgo otros casos especiales.

Nota: + Normalización = +Fragmentacion de la BDD.

Cardinalidad: Es la relación que existe entre dominios de un BDD.

-Uno a Uno.

-Uno muchos.

-Muchos a muchos.

Sql Server Maneja dos lenguajes el T-Sql y el ANSI-SQL.

T-SQL:

-DDL: es para el menejo de Datos (Create, Alter);

-DML: es para el manejo de datos (Select, update).

-DCL: esta relacionado con las acciones que refieren al ambiente como el control de seguridad o de acceso (Revoke, grant).

viernes, 2 de abril de 2010

Base de datos orientada a objetos.

En esta ocación hablaré un poco sobre el modelo de base de datos orientado a objetos ya que es un tema de moda actual, debido a que muchas empresas comienzan a desarrollar sus sistemas con este modelo, y en el cual haremos algunas pequeñas practicas a lo largo de esta entrega para poder desarrollar un conocimiento mas solido y amplio, junto con ello tambien un poco de lenguaje sql ejecutado en el sistema gestor de base de datos de oracle, les recomiendo descarguen el Oracle 10g edition express en el cual he hecho las pruebas.

Acontinuación daré una breve reseña de las BDOO (asi manejaré la abreviatura de BASE DE DATOS ORIENTADA A OBJETOS).

Los modelos antiguos de BD son realmente funcionales como son el de red, jerarquico y relacional pero tiene algunas desventajas en lo que se refiere a ingenieria (CAD/CAM, CIM).

Las BDOO no esta limitada por tipos de dato y lenguajes de consulta de los sistemas de BD tradicionales.

Una ventaja bastante destacante es la capacidad de especificar la estructura de objetos complejos, como de operaciones que se poueden realizar en ellos.

Creo que algo que es importante resaltar es que este tipo de BD esta diseñado sobre el paradigma de programación orientada a objetos (POO) y es de cierta forma una facilidad que se nos otorga con este modelos ya que es de cierta manera implementar una BDOO o un sistema con POO, además que se puede tener una estructura de datos mas aplicable a BI y DM.

En algunos articulos llegue a leer que decia que este modelo de BD esta orientado a no almacenar información repetida, que lo que se repetia se guardaba por decirlo asi "un solo registro" y la información no repetida que hacia uso de la que se repetia se guardaba en un tabla anidad, en oracle conocida como "nasted".

En los modelos de BD tradicionales se manejan los datos y sus procedimiento s manera separada y en el modemos de BDOO se manejan de combinando sus procedimientos con los datos.

Las BDOO es el primer modelo que es capaz de manejar relaciones de muchos a muchos pero debenos tener cuidado al momento de hacer y usar estas relaciones para evitar pérdidas de información.

Las BDOO son de tipo navegacional, ya que para accesar a los datos es atravéz de las relaciones que se almacenan con los mismos datos.

Ahora veremos algunos aspectos y definiciones importantes para el mejor entendimiento de las BDOO.

Objeto:Es una representación abstracta de una cosa real, la cual contiene atributos, variables o propiedades, pueden realizar acciones denominados métodos, funciones, servicios, procedimientos u operaciones. Solo dan información de ellos atravéz de los métodos y ocultan la información de sus procedimientos, aunque es sencillo hacer que los lleven acabo, a esto se le llama encapsulamientos.

Clase:Es un plantilla en donde se basan los objetos similares y se contienen los métodos de ese conjunto de objetos. Cuando se crea un objeto se tiene accesos a esos métodos y procedimientos. Los objetos de esa clase difieren en los datos pero comparten los mismos métodos.

Tipos de clases:Existen 3 tipos de clases que son.
1.-Clases de control. Gestionan el flujo de operación de un programa.
2.-Clases entidad. Son las que se utilizan para crear objetos que manejan datos.
3.-Clases interface. Son las que manejan la entrada y salida de información.

Tipos de métodos: Hay varios tipos de métodos que se utilizan en las clases.

1.-Constructores. Un constructor es un método que se llama igual que la clase, se ejecuta al tiempo mismo que la clase y sirve para inicializar las variables de los objetos.

2.-Destrucotres. Es un método que destruye los objetos.

3.-Accesores. Es un método que devuelve el valor de un atributo privado de otro objeto, asi es como los objetos externos pueen acceder a los datos encapsulados.

4.-Mutadores. Es un método que se almacena un nuevo valor en un atributo, de este modo es como los objetos externos pueden modificar los datos encapsulados.

Nombre de clases, atributos y métodos.

En la POO se acostumbra segir ciertas recomendaciones por estandarización sobre nombres de los antes mencionados y aquí te daremos las recomendaciones.

1.-Los nombres de clases comienzan por un letra mayuscula y las demas con minusculas como puede ser "Alumnos".
2.-El nombre de atributos comienza con letra minuscula y si son 2 o mas palabras se puede recurrir al guión bajo o mayuscula como puede ser "calleNum" o "calle_num".
3.-Los métodos accesores comienzan com la palabra get como puede ser "getCalleNum".
4.-Los métodos mutadores comienzan con la palabra set como puee ser "setCalleNum".

Herencia de atributos:Hay algunas ocaciones en que tenemos clases que son similares pero no idénticas, para ello tenemos esta caractristica del paradigma de POO, en cual una clase puede tener varias subclases, por ejemplo, podemos tener la superclase "Persona" con atributos "nombre, edad, sexo" y podemos tener las subclases "Alumno" con atributos especificos "matricula" y "Profesor" con atributos "cedProfesional" y por el hecho de ser heredados de "Persona" tienen los atributos de ella.

Herencia multiple: Cuando una superclase hereda mas de una sola clase.

Interfaces:Algunos lenguajes orientados a objetos no soportan la herencia multiple y entonces tienen que utilizar interfaces las cuales son una especificación de una clase sin instrucciones en los métodos, cada clase que implemente la interface proporcionará las instrucciones de los los mismos.

Bueno esto es un poco de lo primero que le puedo escribir pronto traere la continuación y al final veremos cuantas entregas se puedne hacer de este tema espero esto que es poco les pueda servir.