Tipos de usuarios en las Bases de Datos

22
Tipos de usuarios 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. Estos usarios pueden también simplemente leer informes generados de la base de datos. 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. Los analistas que envían las consultas para explorar los datos en la base de datos entran en esta categoría, 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.

description

Usuarios NormalesUsuarios Sofisticados

Transcript of Tipos de usuarios en las Bases de Datos

Tipos de usuariosUsuarios normales.Son usuarios no sofisticados que interactan con el sistema mediante un programa de aplicacin con una interfaz de formularios, donde puede rellenar los campos apropiados del formulario. Estos usarios pueden tambin simplemente leer informes generados de la base de datos.Programadores de aplicaciones.Son profesionales informticos que escriben los programas de aplicacin, utilizando herramientas para desarrollar interfaces de usuario, como las herramientas dedesarrollo rpido de aplicaciones (DRA), que facilitan crear los formularios e informes sin escribir directamente el programa.Usuarios sofisticados.Interactan con el sistema sin programas escritos, usando el lenguaje de consulta de base de datos para hacer sus consultas. Los analistas que envan las consultas para explorar los datos en la base de datos entran en esta categora, usando ellos las herramientas deprocesamiento analtico en lnea(OLAP, OnLine Analytical Processing), o herramientas derecopilacin 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 estn los sistemas de diseo asistido por computadora, sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de datos complejos (como grficos y de audio) y sistemas de modelado de entorno.Administradoresde la base de datos (ABD).Son las personas que tienen el control central del SGBD. Entre las funciones del ABD se encuentran: Definicin del esquema de la base de datos. Definicin de la estructura y el mtodo de acceso. Modificacin del esquema y la organizacin fsica. Concensin de autorizacin para el acceso a los datos. Mantenimiento rutinario.

Tipos de Usuarios en Base de Datos Usuario Final:es lapersonaque utiliza los datos, esta persona ve datos convertidos en informacin: Desarrollador de Aplicaciones:es la persona que desarrolla lossistemasque interactun con la Base de Datos. DBA:es la persona que asegura integridad, consistencia, redundancia,seguridadeste es el Administrador de Base de Datos quien sed encarga de realizar elmantenimientodiario o peridico de los datos.Las personas tienen acceso DBMS se clasifican de la siguiente manera:USUARIOS INGENUOS. Son aquellos que interactuan con el sistema por medio de aplicaciones permanentes.USUARIOS SOFISTICADOS.- son aquellos con la capacidad de acceder a la informacin pormediosde lenguajes de consulta.PROGRAMADORES DE APLICACIN.- son aquellos con un ampliodominiodel DML capaces de generar nuevos mdulos o utilerias capaces de manejar nuevos datos en el sistema.USUARIOS ESPECIALIZADOS.- son aquellos que desarrollan mdulos que no se refieren precisamente al manejo de los datos, si no a aplicaciones avanzadas como sistemas expertos, reconocimientos deimgenes, procesamiento de audio y dems.

Cmo funciona el sistema de privilegiosEl sistema de privilegios de MySQL asegura que todos los usuarios pueden ejecutar slo la operacin permitida a los mismos. Como usuario, cuando conecta a un servidor MySQL, su identidad se determina medianteel equipo desde el que se conectayel nombre de usuario que especifique. Cuando efecte peticiones tras conectar, el sistema le otorga privilegios acorde a su identidad ylo que quiera hacer.MySQL considera tanto su nombre de usuario y su equipo a la hora de identificarle, ya que no hay razn para asumir que un nombre de usuario pertenece a la misma persona en cualquier sitio de Internet. Por ejemplo, el usuariojoeque conecta desdeoffice.comno tiene porqu ser la misma persona que el usuariojoeque conecta desdeelsewhere.com. MySQL trata esto permitiendole distinguir usuarios en diferentes equipos que tienen el mismo nombre. Puede otorgar un conjunto de privilegios para conexiones dejoedesdeoffice.com, y un conjunto distinto para conexiones dejoedesdeelsewhere.com.El control de acceso de MySQL implica dos etapas: Etapa 1: El servidor comprueba si debe permitirle conectarse. Etapa 2: Asumiendo que se conecta, el servidor comprueba cada comando que ejecuta para ver si tiene suficientes permisos para hacerlo. Por ejemplo, si intenta seleccionar registros de una tabla en una base de datos o eliminar una tabla de la base de datos, el servidor verifica que tenga el permisoSELECTpara la tabla o el permisoDROPpara la base de datos.Si sus permisos cambian (por usted mismo o alguien distinto) mientras est conectado, estos cambios no tienen porqu tener efecto inmediatamente para el siguiente comando que ejecute. ConsulteSeccin5.6.7, Cundo tienen efecto los camios de privilegiospara ms detalles.El servidor guarda informacin de privilegios en las tablas de permisos de la base de datosmysql(esto es, en la base de datos llamadamysql). El servidor MySQL lee el contenido de dichas tablas en memoria cuando arranca y las vuelve a leer bajo las circunstancias indicadas enSeccin5.6.7, Cundo tienen efecto los camios de privilegios. Las decisiones acerca de control de acceso se basan en las copias en memoria de las tablas de permisos.Normalmente, manipula los contenidos de las tablas de permisos indirectamente usando los comandosGRANTyREVOKEpara configurar cuentas y controlar los privilegios disponibles para cada una. ConsulteSeccin13.5.1.3, Sintaxis deGRANTyREVOKE. La discusin aqu describe la estructura subyacente de las tablas de permisos y cmo el servidor usa sus contenidos cuando interacta con clientes.El servidor usa las tablasuser,db, yhosten la base de datosmysqlen ambas etapas de control de acceso. Las columnas en estas tablas de permisos se muestran a continuacin:Nombre tablauserdbhost

Alcance columnasHostHostHost

UserDbDb

PasswordUser

Columnas privilegiosSelect_privSelect_privSelect_priv

Insert_privInsert_privInsert_priv

Update_privUpdate_privUpdate_priv

Delete_privDelete_privDelete_priv

Index_privIndex_privIndex_priv

Alter_privAlter_privAlter_priv

Create_privCreate_privCreate_priv

Drop_privDrop_privDrop_priv

Grant_privGrant_privGrant_priv

Create_view_privCreate_view_privCreate_view_priv

Show_view_privShow_view_privShow_view_priv

Create_routine_privCreate_routine_priv

Alter_routine_privAlter_routine_priv

References_privReferences_privReferences_priv

Reload_priv

Shutdown_priv

Process_priv

File_priv

Show_db_priv

Super_priv

Create_tmp_table_privCreate_tmp_table_privCreate_tmp_table_priv

Lock_tables_privLock_tables_privLock_tables_priv

Execute_priv

Repl_slave_priv

Repl_client_priv

Columnas seguridadssl_type

ssl_cipher

x509_issuer

x509_subject

Columnas recursos controlmax_questions

max_updates

max_connections

max_user_connections

Execute_privse present en MySQL 5.0.0, pero no fue operacional hasta MySQL 5.0.3.Las columnasCreate_view_privyShow_view_privse aadieron en MySQL 5.0.1.Las columnasCreate_routine_priv,Alter_routine_priv, ymax_user_connectionsse aadieron en MySQL 5.0.3.Durante la segunda etapa de control de acceso, el servidor efecta una verificacin de peticin para asegurar que cada cliente tiene suficientes privilegios para cada peticin que recibe. Adicionalmente las tablas de permisosuser,db, yhost, el servidor puede consultar las tablastables_privycolumns_privpara peticiones que impliquen tablas. Las tablastables_privycolumns_privproveen de un control de privilegios ms fino a nivel de tabla y columna. Tienen las siguientes columnas:Nombre tablatables_privcolumns_priv

Alcance de columnasHostHost

DbDb

UserUser

Table_nameTable_name

Column_name

Columnas privilegiosTable_privColumn_priv

Column_priv

Otras columnasTimestampTimestamp

Grantor

Las columnasTimestampyGrantoractualmente no se usan y no se discuten ms en esta seccin.Para verificacin de peticiones que impliquen rutinas almacenadas, el servidor puede consultar la tablaprocs_priv. Esta tabla tiene las siguientes columnas:Nombre tablaprocs_priv

Alcance de columnasHost

Db

User

Routine_name

Routine_type

Columnas privilegiosProc_priv

Otras columnasTimestamp

Grantor

La tablaprocs_privexiste desde MySQL 5.0.3. La columnaRoutine_typese aadi en MySQL 5.0.6. Hay una columnaENUMcon valores de'FUNCTION'o'PROCEDURE'para indicar el tipo de rutina a que se refiere el registro. Esta columna permite que los privilegios se otorgen separadamente para una funcin y para un procedimiento con el mismo nombre.Las columnasTimestampyGrantorno se usan actualmente y no se discuten ms aqu.Cada tabla de permisos contiene columnas de alcance y columnas de privilegios: Las columnas de alcance determinan el alcance de cada entrada (registro) en las tablas; esto es, el contexto en que el registro se aplica. Por ejemplo, un registro de la tablausercon los valoresHostyUserde'thomas.loc.gov'y'bob'se usaran para autenticar conexiones hechas al servidor desde el equipothomas.loc.govpor un cliente que especifique un nombre de usuario debob. De forma similar, un registro de la tabladbcon las columnasHost,User, yDbcon valores'thomas.loc.gov','bob'y'reports'se usara cuandobobconectase desde el equipothomas.loc.govpara acceder a la base de datosreports. Las tablastables_privycolumns_privcontienen columnas de alcance indicando tablas o combinaciones de tabla/columna para las que cada registro se aplica. La columna de alcanceprocs_privindica la rutina de almacenamiento que se aplica a cada registro. Las columnas de privilegios indican qu privilegios se otorgan a un registro de la tabla; esto es, qu operaciones pueden ejecutarse. El servidor combina la informacin de diversas tablas de permisos para tener una descripcin completa de los permisos de un usuario. Las reglas usadas para ello se describen enSeccin5.6.6, Control de acceso, nivel 2: comprobacin de solicitudes.Las columnas de alcance contienen cadenas de caracteres. Se declaran tal y como se muestra a continuacin; el valor por defecto es la cadena de caracteres vaca:Nombre de columnaTipo

HostCHAR(60)

UserCHAR(16)

PasswordCHAR(16)

DbCHAR(64)

Table_nameCHAR(64)

Column_nameCHAR(64)

Routine_nameCHAR(64)

Con propsito de chequeos de acceso, las comparaciones de los valores deHostno tienen en cuenta maysculas y minsculas. Los valores deUser,Password,Db, yTable_nameson sensibles a maysculas y minsuclas. Los valores deColumn_nameno son sensibles a maysculas y minsculas.En las tablasuser,db, yhost, cada privilegio se lista en una columna separada que se declara comoENUM('N','Y') DEFAULT 'N'. En otras palabras, cada privilegio puede estar desactivado o activado, estando desactivados por defecto.En las tablastables_priv,columns_priv, andprocs_priv, las columnas de privilegios se declaran como columnas de tipoSET. Los valores en estas columnas pueden contener cualquier combinacin de los privilegios controlados por la tabla:Nombre de tablaNombre de columnaPosible conjunto de elementos

tables_privTable_priv'Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter'

tables_privColumn_priv'Select', 'Insert', 'Update', 'References'

columns_privColumn_priv'Select', 'Insert', 'Update', 'References'

procs_privProc_priv'Execute', 'Alter Routine', 'Grant'

Brevemente, el servidor usa las tablas de permisos como sigue: Las columnas de alcance de la tablauserdeterminan si se rechazan o permiten conexiones entrantes. Para conexiones permitidas, cualquier privilegio otorgado en la tablauserindica los privilegios globales del usuario (superusuario). Estos privilegios se aplican atodaslas bases de datos en el servidor. Las columnas de alcance de la tabladbdeterminan qu usuarios pueden acceder a qu bases de datos desde qu equipo. La columna de privilegios determina qu operaciones se permiten. Un privilegio otorgado a nivel de base de datos se aplica a la base de datos y a todas sus tablas. La tablahostse usa en conjuncin con la tabladbcuando desea que un registro de la tabladbse aplique a varios equipos. Por ejemplo, si queiere que un usuario sea capaz de usar una base de datos desde varios equipos en su red, deje el valorHostvaco en el registro de usuario de la tabladb, luego rellene la tablahostcon un registro para cada uno de estos equipos. Este mecanismo se describe con mayor detalle enSeccin5.6.6, Control de acceso, nivel 2: comprobacin de solicitudes.Nota: La tablahostno se ve afectada por los comandosGRANTniREVOKE. La mayora de instalaciones MySQSL no necesitan usar esta tabla en absoluto. Las tablastables_privycolumns_privson similares a la tabladb, pero son ms detalladas: se aplican a nivel de tabla y de columna en lugar de a nivel de base de datos. Un privilegio otorgado a nivel de tabla se aplica a la tabla y a todas sus columnas. Un privilegio otorgado a nivel de columna se aplica slo a la columna especificada. La tablaprocs_privse aplica a rutinas almacenadas. Un privilegio otorgado a nivel de rutina se aplica slo a una nica rutina.Permisos administrativos (tales comoRELOADoSHUTDOWN) se especifican slo en la tablauser. Esto es debido a que las operaciones administrativas son operaciones del propio servidor y no especficas de bases de datos, as que no hay ninguna razn para listar estos privilegios en las otras tablas de permisos. De hecho, para determinar si puede realizar una operacin administrativa, el servidor slo necesita consultar la tablauser.El privilegioFILEtambin se especifica slo en la tablauser. No es un privilegio administrativo como tal, pero la habilidad de leer o escribir archivos en el equipo servidor es independiente de las bases de datos a las que acceda.El servidormysqldlee los contenidos de las tablas de permisos en memoria cuando arranca. Puede decirle que las vuelva a leer mediante el comandoFLUSH PRIVILEGESo ejecutando los comandosmysqladmin flush-privilegesomysqladmin reload. Los cambios en las tablas de permisos tienen efecto como se indica enSeccin5.6.7, Cundo tienen efecto los camios de privilegios.Cuando modifica los contenidos de las tablas de permisos, es una buena idea asegurarse que sus cambios configuran permisos tal y como desea. Para consultar los permisos de una cuenta dada, use el comandoSHOW GRANTS. Por ejemplo, para determinar los permisos que se otorgan a una cuenta con valoresHostyUserdepc84.example.comybob, use este comando:mysql> SHOW GRANTS FOR 'bob'@'pc84.example.com';Una herramienta de diagnstico til es el scriptmysqlaccess, proporcionado por Yves Carlier para la distribucin MySQL. Invoquemysqlaccesscon la opcin--helppara ver cmo funciona. Note quemysqlaccesschequea acceso usando slo las tablasuser,db, yhost. No chequea los privilegios de tabla, columna, o rutina especificados en las tablastables_priv,columns_priv, oprocs_priv.

Transacciones (motor de la base de datos)Una transaccin es una secuencia de operaciones realizadas como una sola unidad lgica de trabajo. Una unidad lgica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades de atomicidad, coherencia, aislamiento y durabilidad (ACID), para ser calificada como transaccin.AtomicidadUna transaccin debe ser una unidad atmica de trabajo, tanto si se realizan todas sus modificaciones en los datos, como si no se realiza ninguna de ellas.CoherenciaCuando finaliza, una transaccin debe dejar todos los datos en un estado coherente. En una base de datos relacional, se deben aplicar todas las reglas a las modificaciones de la transaccin para mantener la integridad de todos los datos. Todas las estructuras internas de datos, como ndices de rbol b o listas doblemente vinculadas, deben estar correctas al final de la transaccin.AislamientoLas modificaciones realizadas por transacciones simultneas se deben aislar de las modificaciones llevadas a cabo por otras transacciones simultneas. Una transaccin reconoce los datos en el estado en que estaban antes de que otra transaccin simultnea los modificara o despus de que la segunda transaccin haya concluido, pero no reconoce un estado intermedio. Esto se conoce como seriabilidad, ya que deriva en la capacidad de volver a cargar los datos iniciales y reproducir una serie de transacciones para finalizar con los datos en el mismo estado en que estaban despus de realizar las transacciones originales.DurabilidadUna vez concluida una transaccin, sus efectos son permanentes en el sistema. Las modificaciones persisten an en el caso de producirse un error del sistema.Especificar y exigir transacciones

Los programadores de SQL son los responsables de iniciar y finalizar las transacciones en puntos que exijan la coherencia lgica de los datos. El programador debe definir la secuencia de modificaciones de datos que los dejan en un estado coherente en relacin con las reglas de negocios de la organizacin. El programador incluye estas instrucciones de modificacin en una sola transaccin de forma que SQL Server Database Engine (Motor de base de datos de SQL Server) puede hacer cumplir la integridad fsica de la misma.Es responsabilidad de un sistema de base de datos corporativo, como una instancia de Motor de base de datos, proporcionar los mecanismos que aseguren la integridad fsica de cada transaccin. Motor de base de datos proporciona: Servicios de bloqueo que preservan el aislamiento de la transaccin. Servicios de registro que aseguran la durabilidad de la transaccin. Aunque se produzca un error en el hardware del servidor, el sistema operativo o la instancia de Motor de base de datos, la instancia utiliza registros de transacciones, al reiniciar, para revertir automticamente las transacciones incompletas al punto en que se produjo el error del sistema. Caractersticas de administracin de transacciones que exigen la atomicidad y coherencia de la transaccin. Una vez iniciada una transaccin, debe concluirse correctamente; en caso contrario, la instancia de Motor de base de datos deshar todas las modificaciones de datos realizadas desde que se inici la transaccin.

Transacciones de la Base de datos El servidor de Oracle garantiza la consistencia de los datos con base en transacciones. Las transacciones proporcionan mayor flexibilidad y control cuando los datos cambian y ello asegura la consistencia de los datos en el caso de un fallo en el proceso del usuario o del sistema. Las transacciones consisten de sentencias DML que componen un cambio consistente en los datos. Por ejemplo, una transferencia de fondos entre dos cuentas debe incluir el debito de una cuenta y el crdito a otra cuenta en la misma cantidad. En su conjunto ambas acciones deben fallar o triunfar; el crdito no se debe cometer sin el dbito. Tipos de transacciones Tipo Descripcin Lenguaje de Manipulacin de Datos (DML Data manipulation Language) Consiste de cualquier nmero de sentencias DML que el servidor de Oracle trate como una sola entidad o una unidad lgica de trabajo Lenguaje de Definicin de datos (DDL Data Definition Language) Consiste de solo una sentencia DDL Lenguaje de Control de Datos (DCL Data Control Language) Consiste de solo una sentencia DCL

Cuando inicia y finaliza una transaccin? Una transaccin inicia cuando la primera sentencia DML es encontrada y finaliza cuando ocurre alguno de los siguientes puntos: Una sentencia COMMIT o ROLLBACK es usada Una sentencia DDL, como CREATE es utilizada Una sentencia DCL es usada El usuario sale de iSQL*Plus Una computadora falla o el sistema falla Despus de que una transaccin finaliza, la siguiente sentencia SQL ejecutada automticamente inicia la siguiente transaccin. Una sentencia DDL o DCL es automticamente completada y por consiguiente implcitamente finaliza una transaccin.

Qu es el ODBC?Open Data Base ConectivityO lo que es lo mismo,conectividad abierta de bases de datos. Si escribimos una aplicacin para acceder a las tablas de una DB de Access, qu ocurrir si despus queremos que la misma aplicacin, y sin reescribir nada, utilice tablas de SQL Server u otra DB cualquiera? La respuesta es sencilla: no funcionar. Nuestra aplicacin, diseada para un motor concreto, no sabr dialogar con el otro. Evidentemente, si todas las DB funcionaran igual, no tendramos este problema.... aunque eso no es probable que ocurra nunca.Pero si hubiera un elemento que por un lado sea siempre igual, y por el otro sea capaz de dialogar con una DB concreta, solo tendramos que ir cambiando este elemento, y nuestra aplicacin siempre funcionara sin importar lo que hay al otro lado... algo as como ir cambiando las boquillas de una manguera. A esas piezas intercambiables las llamaremosorgenes de datosde ODBCCasi todas las DB actuales tienen un ODBC. Debido a que este elemento impone ciertas limitaciones, ya que no todo lo que la DB sabe hacer es compatible con la aplicacin, como velocidad de proceso, tiempos de espera, mxima longitud de registro, nmero mximo de registros, versin de SQL, etc., est cayendo en desuso a cambio de otras tcnicas de programacin, pero an le quedan muchos aos de buen servicio.Todo lo referido aqu funciona con Windows NT Server 4.0 con el Service Pack 4 o superior instalado (el ltimo publicado es el 6). El Option Pack 4 para actualizar el IIS y las extensiones ASP. SQL Server 6.5 y Access 97. Por supuesto, tambin funciona con las versiones modernas de servidores como 2003 Server, y tambin XP PRO, que lleva un IIS 5.0 de serie. Igualmente es posible utilizar bases de datos de Access 2000 o 2003.Esas otras tcnicas de programacin antes mencionadas, se utilizan ya en el nuevo Windows 2003, Office 2003 y SQL Server 2000, que adems de ODBC pueden utilizar.... pero esa es otra historia.Esta es la idea: por un lado el ODBC provee de unas caracteristicas siempre homogneas, y por el otro permite distintos controladores que aseguran la conectividad de la aplicacin con diferentes bases de datos.

Conectividad abierta de bases de datos (ODBC) es la interfaz estratgica de Microsoft para obtener acceso a datos en un entorno heterogneo de relacional y no-relacionales, sistemas de administracin de base de datos.Basado en la especificacin de interfaz de nivel de llamada del grupo de acceso SQL, ODBC proporciona una forma abierta, independiente del proveedor de acceso a datos almacenados en una variedad de equipo propietario, minicomputadoras y bases de datos de mainframe.

ODBC alivia la necesidad de proveedores de software independientes y los programadores corporativos a aprender mltiples interfaces de programacin de aplicaciones.ODBC proporciona ahora una interfaz de acceso a datos universal.Con ODBC, los desarrolladores de aplicaciones pueden permitir que una aplicacin para obtener acceso al mismo tiempo, ver y modificar datos procedentes de varios diversas bases de datos.

ODBC es un componente bsico de la arquitectura de servicios abiertos de Microsoft Windows.Apple ha respaldado ODBC como clave de habilitacin de la tecnologa anunciando soporte en System 7 en el futuro.Con soporte en la creciente industria, ODBC es rpidamente como un sector importante estndar emergente para acceso a datos para aplicaciones de Windows y Macintosh.

ADO.NETADO.NET es un conjunto de clases que exponen servicios de acceso a datos para programadores de .NET Framework.ADO.NET ofrece abundancia de componentes para la creacin de aplicaciones de uso compartido de datos distribuidas.Constituye una parte integral de .NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones.ADO.NET satisface diversas necesidades de desarrollo, como la creacin de clientes de base de datos front-end y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.

ADO .NET y XMLXML se ha convertido en la piedra angular de lainformticadistribuida de nuestros das. De ah que mucho de la redefinicin del API de ADO se deba a la adaptacin de los objetos a un modelo deprocesosque se apoya endocumentosXML, no en objetos especficos de cada plataforma a partir de cursores. Esto permite que las clases de ADO .NET puedan implementar mecanismos de conversin de datos entre plataformas,lecturade datos de cualquier origen, habilitar mecanismos de persistencia en el mismo formato en el que se procesan., etc.En esta redefinicin, Microsoft ha puesto como intermediario entre un cliente y sus datos, un adaptador que transforma cada comando y cada dato enmodelosde documentos XML. Tanto para consultas como para actualizaciones. Y esto es lo que posibilita la nuevafilosofade acceso a datos desconectados de ADO .NET: primero se cargan en el cliente los documentos necesarios almacenndolos enDataSeta partir de consultas a tablas, vistas,procedimientos, etc, se nos da la posibilidad de trabajar con documentos sin necesidad de estar continuamente consumiendo recursos de la red, y por ltimo se procesarn los cambios producidos envindolos a la base de datos, el adaptador coger los cambios del documento, y los replicar al servidor. En la Figura 2 se puede ver un esquema de la relacin entre ADO .NET y XML.

Una visin general de ADO .NETEsta es la nueva versin del modelo de objetos ADO (ActiveX Data Objects), es decir, la estrategia que ofrece Microsoft para el acceso a datos dentro de la plataforma .NET.ADO .NET. al igual que suceda conASP.NET, en las primeras versiones de la plataforma .NET se denominaba ADO+.ADO .NET ha sido ampliado para cubrir todas las necesidades que ADO no ofreca, ADO .NET est diseado para trabajar con conjuntos de datos desconectados, lo que permite reducir el trfico de red.ADO .NET utiliza XML como formato universal de transmisin de los datos.ADO .NET posee una serie de objetos que son los mismos que aparecen en la versin anterior de ADO, como pueden ser el objeto Connection o Command, e introduce nuevos objetos tales como el objeto DataReader, DataSet o DataView. A continuacin vamos a comentar brevemente los objetos principales que posee ADONET.Los espacios con nombre que utiliza ADO .NET principalmente sonSystem.DataySystem.Data.OleDboSystem.Data.SqlClient. System.Data ofrece las facilidades decodificacinpara el acceso y manejo de datos, y System.Data.OleDb y System.Data.SqlClient contienen losproveedores, en el primer caso los proveedores genricos de OLE DB y en el segundo los proveedores nativos deSQL Serverque ofrece la plataforma .NET.El objeto Connection define como se establece la conexin con elalmacnde datos, el .NET Framework ofrece dos objetos Connection:SqlConnectionyOleDbConnection, que se corresponde con las dos posibilidades de proveedores que disponemos.Otro objeto importante dentro del modelo de objetos de ADO .NET es el objetoSystem.Data.DataSet(conjunto de datos), este nuevo objeto representa un conjunto de datos de manera completa, pudiendo incluir mltiples tablas junto con sus relaciones. No debemos confundir el nuevo objetoDataSetcon el antiguo objetoRecordset, el objeto DataSet contiene un conjunto de tablas y las relaciones entre las mismas, sin embargo el objeto Recordset contiene nicamente una tabla. Para acceder a una tabla determinada el objeto DataSet ofrece la coleccin Tables.Parapodercrear e inicializar las tablas del DataSet debemos hacer uso del objeto DataAdapter, que posee las dos versiones, es decir, el objetoSqlDataAdapterpara SQL Server yOleDbDataAdaptergenrico de OLE DB.Al objeto DataAdapter le pasaremos por parmetro una cadena que representa la consulta que se va a ejecutar y que va a rellenar de datos el DataSet. Del objeto DataAdapter utilizaremos elmtodoFill(), que posee dos parmetros, el primero es una cadena que identifica el objetoDataTable (tabla)que se va a crear dentro del objeto DataSet como resultado de la ejecucin de la consulta y el segundo parmetro es el objeto DataSet en el que vamos a recoger los datos.Un DataSet puede contener diversas tablas, que se representan mediante objetos DataTable. Para mostrar el contenido de un DataSet, mediante Data Binding, por ejemplo, necesitamos el objetoDataView. Un objeto DataView nos permite obtener un subconjunto personalizado de los datos contenidos en un objeto DataTable. Cada objeto DataTable de unDataSetposee lapropiedadDefaultViewque devuelve la vista de los datos por defecto de la tabla.Otro objeto de ADO .NET es el objeto DataReader, que representa un cursor de slo lectura y que slo permite movernos hacia adelante (read-only/forward-only), cada vez que existe un nicoregistroenmemoria, el objeto DataReader mantiene abierta la conexin con el origen de los datos hasta que es cerrado. Al igual que ocurra con otros objetos de ADO .NET, de este objeto tenemos dos versiones, y que son los objetosSqlDataReaderyOleDbDataReader.Las clases de ADO .NETSystem.Data: clases genricas de datos de ADO .NET, integra la gran mayora de clases que habilitan el acceso a los datos de la arquitectura .NET.System.Data.SqlClient: clases del proveedor de datos de SQL Server, permiten el acceso a proveedoresSQL Server en su versin 7.0 y superior.System.Data.OleDb: clases del proveedor de datos de OleDB, permiten el acceso aproveedores .NET que trabajan directamente contra controladores basados en los ActiveX de Microsoft.System.Data.SqlTypes: definicin de lostipos de datosde SQL Server, proporciona la encapsulacin en clases de todos los tipos de datos nativos de SQL Server y susfuncionesde manejo de errores, ajuste y conversin de tipos, etc.System.Data.Common: clases base, reutilizables de ADO .NET, proporcionan la coleccin de clases necesarias para acceder a una fuente de datos (como por ejemplo una Base de Datos).System.Data.Internal: integra el conjunto de clases internas de las que se componen los proveedores de datos.Dentro del espacio de nombresSystem.Dataencontramos las clases compartidas que constituyen el eje central de ADO.NET, y son las siguientes:DataSet: almacn de datos por excelencia en ADO .NET. Representa una base de datos desconectada del proveedor de datos. Almacena tablas y sus relaciones.DataTable: un contenedor de datos. Estructurado como un conjunto de filas (DataRow) y columnas(DataColumn).DataRow: registro que almacena nvalores. Representacin en ADO .NET de una fila de una tabla de la base de datos.DataColumn: contiene la definicin de una columna. Metadatos y datos asociados a sudominio.DataRelation: enlace entre dos o ms columnas iguales de dos o ms tablas.Constraint: reglas de validacin de las columnas de una tabla.DataColumnMapping: vnculo lgico existente entre una columna de un objeto del DataSet y la columnafsicade la tabla de la base de datos.DataTableMapping: vnculo lgico existente entre una tabla del DataSet y la tabla fsica de la base de datos.Adems de estas clases, existe otrogrupode clases, las clases especficas de un proveedor de datos. Estas clases forman parte de lo especfico de un fabricante de proveedores de datos .NET. Tienen una sintaxis de la forma XxxClase donde "Xxx" es un prefijo que determina el tipo de plataforma de conexin a datos. Se definen en dos NameSpaces:System.Data.SqlClientySystem.Data.OleDb.En la siguiente tabla se ofrece unadescripcinde las clases que podemos encontrar en estos espacios de nombres.Clase DescripcinSqlConnection Clase que representa la etapa de conexin a un proveedor OleDbConnection de datos. Encapsula laseguridad, pooling de conexiones,etc.SqlCommand Clases que representan un comando SQL contra unOleDbCommand sistema gestor de datos.SqlCommandBuilder Generador decomandosSQL de insercin, modificacin yOleDbCommandBuilder borrado desde una consulta SQL deseleccinde datos.SqlDataReader Un lector de datos de slo avance, conectado a la base deOleDbDataReader datos.SqlDataAdapter Clase adaptadora entre un objeto DataSet y sus OleDbDataAdapteroperacionesfsicas en la base de datos (select,insert,update y delete).SqlParameter Define los parmetros empleados en la llamada aOleDbParameter procedimientos almacenados.SqlTransactionGestinde las transacciones a realizar en la base de datos. OleDbTransactionPara aquellos conocedores de ADO en alguna de sus versiones anteriores podemos hacer una analoga o comparacin entre las antiguas clases de ADO y las nuevas de ADO .NET, en la Figura 3 se puede ver esta aproximacin.

Bibliografahttp://uvfdatabases.wordpress.com/2009/02/07/tipos-de-usuarios-de-la-base-de-datos/

http://www.monografias.com/trabajos34/base-de-datos/base-de-datos.shtml#tipos

http://dev.mysql.com/doc/refman/5.0/es/privileges.html

http://technet.microsoft.com/es-es/library/ms190612(v=sql.105).aspxhttp://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r23110.PDFhttp://www.uv.es/jac/guia/gestion/gestion3.htmhttp://support.microsoft.com/kb/110093/eshttp://msdn.microsoft.com/es-es/library/e80y5yhx(v=vs.110).aspxhttp://www.monografias.com/trabajos93/ado-net-idat/ado-net-idat.shtml#adonetyxma