Está en la página 1de 11

Unidad 1: Conexión a la base de datos desde un

lenguaje de programación.
Ensayo
Base de Datos con ORM

Ingeniería en Sistemas Computacionales

Héctor Carlos Valadez Moyeda


Carlos Venancio Pérez Rangel
03/02/2023
Contenido
Protocolos de conexión a la base de datos ............................................................................... 4
Cadenas de conexión sql ............................................................................................................... 6
Objetos y controles para la manipulación de la base de datos ...................................................... 7
Interacción con la base de datos .................................................................................................... 8
Programación del lado del cliente............................................................................................. 9
JDBC con java............................................................................................................................... 9
ADO.NET con Visual C#............................................................................................................ 10
Otras tecnologías en desarrollo ................................................................................................... 10
Tema 1.1

Protocolos de conexión a la base de datos


Se clasifican en dos grandes grupos:

• Lenguajes de consulta procedimentales: En este tipo de lenguaje el usuario da


instrucciones al sistema para que realice una serie de procedimientos u operaciones en
la base de datos para calcular un resultado final.

• Lenguajes de consulta no procedimentales: En los lenguajes no procedimentales el


usuario describe la información deseada sin un procedimiento específico para obtener
esa información.

Un protocolo es una serie de reglas que utilizan dos ordenadores para comunicarse entre
sí.

Con los programas que hay actualmente el problema a la conexion de base de datos es
mas practico ya que las buenas bases de datos proporcionan una gestión sectorial que
evitan las repeticiones, permiten la ordenación protocolaria

sistemática (de acuerdo a uno o más criterios) y posibilita el seguimiento personalizado


de cada uno.

Muchos servidores de BBDDs utilizan protocolos específicos de la marca, lo que obliga


a aprender un lenguaje nuevo para trabajar con cada uno de ellos. Pero es posible
`observar'' las diferencias mediante alguna interface de alto nivel.

Estas interfaces encapsulan los aspectos genéricos del servicio:

• Solicitan una conexión o desconexión.


• Recuperan y añaden datos.

Diversas son las tecnologías que abstraen las complejidades subyacentes de cada
producto y proporcionan una interface común (basada en SQL) para el acceso
homogéneo a los datos.

Los contrladores son los sig:

• Select
• Insert
• Delete
• Update

CADENAS DE CONEXION

Las cadenas de conexión son la representación en texto de las propiedades de conexión


para un proveedor de datos.

La cadena de conexión puede ser de dos formas distintas.

• En la primera no hay que indicar ni usuario ni password.


• En la segunda si que hay que
• indicar esos dos datos.

OBJETOS Y CONTROLES PARA MANIPULACION BASE DE DATOS

Las bases de datos de SQL Server a las que podemos acceder con esa cadena de
conexión pueden ser de cualquier versión, al menos yo lo he probado con las versiones
7.0, 2000 y 2005, en los tres casos usando ADO.NET.

• Cadena de conexión con autenticación de Windows: Para conectar a una base de


datos de SQL Server con autenticación de Windows, la cadena de conexión será:

Data Source = ServidorSQL; Initial Catalog = BaseDatos; Integrated Security = True.

• Cadena de conexión con autenticación de SQL Server: Para conectar a una base
de datos de SQL Server usando autenticación del propio SQL Server, la cadena
de conexión será:

data source = ServidorSQL; initial catalog = BaseDatos; user id = Usuario; password =


Contraseña

Un lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un


lenguaje proporcionado por los sistemas gestores de bases de datos que permite a los
usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos
contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos.

El lenguaje de manipulación de datos más popular

hoy día es SQL, usado para recuperar y

manipular datos en una base de datos


relacional.

Cadenas de conexión
Una cadena de conexión es un conjunto de claves y valores separados por punto y
coma; . El conjunto de claves y valores está conectado por el signo de igual por
ejemplo clave1=valor1;clave2=valor2 . El conjunto de claves y valores disponibles están
definidos por el fabricante de la base de datos y muchas veces hay inconsistencias entre
las claves de diferentes proveedores de base de datos.

En este tutorial te muestro como crear, manipular y validar la cadena de conexión para
SQL Server, MYSQL, Oracle, Firebird, PostgreSQL y Sqlite usando C# y .NET Core.
Para ello utilizamos la clase ConnectionStringBuilder que implementan los proveedores
de ADO.NET. Para cada proveedor de ADO.NET es necesario instalar el paquete de
Nuget correspondiente e importar el espacio de nombres con la instrucción using.

Para el caso de SQL Server hay 2 variantes de la cadena de conexión y depende de si


usas la autenticación integrada de Windows o un usuario de SQL. Generalmente es
preferible usar un usuario y contraseña de SQL Server para aplicar el principio de
menor autoridad.

Los ejemplos siguientes funcionan en la mayoría de las versiones de SQL Server desde
la 2008 , 2012, 2014 , 2016 ,2017 y 2019 en Windows. Para SQL Server 2016 y
posteriores también tienen soporte para Linux.

En computación, un cadena de conexión es un cadena que especifica información sobre


un origen de datos y los medios de conexión a él. Se pasa a un subyacente en el
código controlador o proveedor para iniciar la conexión. Mientras que comúnmente
utilizado para un conexión de base de datos, el origen de datos también podría ser
un hoja de cálculo o archivo de texto.
La cadena de conexión puede incluir atributos como el nombre del
conductor, servidor y base de datos, así como información sobre la seguridad como
nombre de usuario y una contraseña.
Ejemplos
Este ejemplo muestra un Postgres cadena de conexión para conectar a copro.com con
SSL y un tiempo de espera de conexión de 180 segundos:
DRIVER = {PostgreSQL Unicode};SERVIDOR = www.copro.com;SSL =
true;SSLMode = requieren; DATABASE = wiki;UID = wikiuser;Connect Timeout =
180;PWD = ashiknoor
Usuarios de Bases de datos Oracle puede especificar las cadenas de conexión:

• en el de línea de comandos (como en: sqlplus scott/tiger@connection_string )


• Via variables de entorno ( $TWO_TASK en entornos de Unix-like; LOCAL % en
entornos Microsoft Windows)[1]
• en local archivos de configuración (por ejemplo, el valor por
defecto $ORACLE_HOME/network/admin.tnsnames.ora )[2]
• en LDAP-capaz servicios de directorio
C#

Keyword=" whitespace ";

Keyword='special;character';

Keyword='double"quotation;mark';

Keyword="single'quotation;mark";

Keyword="double""quotation";

Keyword='single''quotation';

Objetos y controles para la manipulación de la base de datos


El controlador OLE DB para SQL Server usa el término origen de datos para el conjunto de
interfaces OLE DB usado para establecer un vínculo a un almacén de datos, como SQL Server.
La creación de una instancia del objeto de origen de datos del proveedor es la primera tarea de
un consumidor de OLE DB Driver for SQL Server.
Todos los proveedores OLE DB declaran un identificador de clase (CLSID) para sí mismo. El
CLSID para OLE DB Driver for SQL Server es el GUID de C/C++ CLSID_MSOLEDBSQL (el
símbolo MSOLEDBSQL_CLSID se resolverá en el progid correcto del archivo msoledbsql.h al
que hace referencia). Con el CLSID, el consumidor usa la función de OLE CoCreateInstance
para fabricar una instancia del objeto de origen de datos.
OLE DB Driver for SQL Server es un servidor en proceso. Las instancias de objetos del
controlador OLE DB para SQL Server se crean mediante la macro
CLSCTX_INPROC_SERVER para indicar el contexto ejecutable.
El objeto de origen de datos del controlador OLE DB para SQL Server expone las interfaces de
inicialización de OLE DB que permiten al consumidor conectarse a las bases de datos SQL
Server existentes.
Todas las conexiones realizadas a través de OLE DB Driver for SQL Server establece estas
opciones automáticamente:
SET ANSI_WARNINGS ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_NULL_DFLT_ON ON
SET QUOTED_IDENTIFIER ON
SET CONCAT_OF_NULL_YIELDS_NULL ON
En este ejemplo se usa la macro de identificador de clase para crear un objeto de origen de datos
del controlador OLE DB para SQL Server y obtener una referencia a su interfaz IDBInitialize.
IDBInitialize* pIDBInitialize;
HRESULT hr;

hr = CoCreateInstance(CLSID_MSOLEDBSQL, NULL, CLSCTX_INPROC_SERVER,


IID_IDBInitialize, (void**) &pIDBInitialize);

if (SUCCEEDED(hr))
{
// Perform necessary processing with the interface.
pIDBInitialize->Uninitialize();
pIDBInitialize->Release();
}
else
{
// Display error from CoCreateInstance.
}

Interacción con la base de datos

Apoyan el proceso de formular las características que el sistema debe tener para
satisfacer los requerimientos detectados durante las actividades del análisis:

Herramientas de especificación

Apoyan el proceso de formular las características que debe tener una aplicación, tales
como entradas, Salidas, procesamiento y especificaciones de control. Muchas incluyen
herramientas para crear especificaciones de datos.
Herramientas para presentación

Se utilizan para describir la posición de datos, mensajes y encabezados sobre las


pantallas de las terminales, reportes y otros medios de entrada y salida.
Herramientas para el desarrollo de Sistemas

Estas herramientas nos ayudan como analistas a trasladar diseños en aplicaciones


funcionales.
Herramientas para Ingeniería de Software
Apoyan el Proceso de formular diseños de Software, incluyendo procedimientos y
controles, así como la documentación correspondiente.
Generadores de códigos

Producen el código fuente y las aplicaciones a partir de especificaciones funcionales


bien articuladas.
Herramientas para pruebas

Apoyan la fase de la evaluación de un Sistema o de partes del mismo contra las


especificaciones. Incluyen facilidades para examinar la correcta operación del Sistema,
así como el grado de perfección alcanzado en comparación con las expectativas.

La revolución del procesamiento de datos de manera computarizada, junto con las


prácticas de Diseño sofisticadas están cambiando de forma dramática la manera en que
se trasladan las especificaciones de Diseño d Sistemas de Información funcionales.

Programación del lado del cliente


La programación del lado del cliente tiene como principal ventaja que la ejecución de la
aplicación se delega al cliente, con lo cual se evita recargar al servidor de trabajo. El servidor
solo envía el código, y es tarea del browser interpretarlo. El navegador es una especie de
aplicación capaz de interpretar las órdenes recibidas en forma de código HTML
fundamentalmente y convertirlas en las páginas que son el resultado de dicha orden. Cuando
nosotros pinchamos sobre un enlace hipertexto, en realidad lo que pasa es que establecemos una
petición de un archivo HTML residente en el servidor (un ordenador que se encuentra
continuamente conectado a la red) el cual es enviado e interpretado por nuestro navegador (el
cliente). Así pues, podemos hablar de lenguajes de lado servidor que son aquellos lenguajes que
son reconocidos, ejecutados e interpretados por el propio servidor y que se envían al cliente en
un formato comprensible para él. Por otro lado, los lenguajes de lado cliente (entre los cuales no
sólo se encuentra el HTML sino también el Java y el Java Script los cuales son simplemente
incluidos en el código HTML) son aquellos que pueden ser directamente “digeridos” por el
navegador y no necesitan un pretratamiento. Cada uno de estos tipos tiene por supuesto sus
ventajas y sus inconvenientes. Así, por ejemplo, un lenguaje de lado cliente es totalmente
independiente del servidor, lo cual permite que la página pueda ser albergada en cualquier sitio
sin necesidad de pagar más ya que, por regla general, los servidores que aceptan páginas con
scripts de lado servidor son en su mayoría de pago o sus prestaciones son muy limitadas.
Inversamente, un lenguaje de lado servidor es independiente del cliente por lo que es mucho
menos rígido respecto al cambio de un navegador a otro o respecto a las versiones del mismo.

JDBC con java


JDBC significa Java™ EE Database Connectivity (conectividad de bases de datos
Java). En desarrollo de Java EE se trata de una tecnología muy conocida que se utiliza
de forma habitual para implementar la interacción de bases de datos. JDBC es una API
de nivel de llamada, lo que significa que las sentencias SQL se pasan como series a la
API que, posteriormente, se encarga de ejecutarlas en RDMS. Por ello, el valor de estas
series se puede modificar durante el tiempo de ejecución, haciendo que JBDC sea
dinámica.

Mientras que los programas JDBC se ejecutan de forma más lenta que sus equivalentes
SQLJ, una ventaja de este método es un concepto denominado "Write once, call
anywhere" (escribir el código una sola vez y ejecutarlo en cualquier plataforma). Esto
significa que, puesto que no se necesita ninguna interacción hasta el tiempo de
ejecución, un programa JDBC es muy portable y se puede emplear entre dos sistemas
distintos sin ningún tipo de preocupación.

ADO.NET con Visual C#


Al crear una aplicación que manipula datos en una base de datos, se realizan tareas básicas tales
como definir cadenas de conexión, insertar datos y ejecutar procedimientos almacenados. Al
seguir este tema, puede descubrir cómo interactuar con una base de datos desde una sencilla
aplicación de Windows Forms "formularios sobre datos" mediante Visual C# o Visual Basic y
ADO.NET. Todas las tecnologías de datos de .NET, incluidos los conjuntos de datos, LINQ to
SQL y Entity Framework, realizan en última instancia pasos muy similares a los que se
muestran en este artículo.
En este artículo se muestra una manera sencilla de obtener rápidamente datos de una base de
datos. Si la aplicación necesita modificar los datos de maneras no triviales y actualizar la base
de datos, debe considerar el uso de Entity Framework y el uso del enlace de datos para
sincronizar automáticamente los controles de la interfaz de usuario con los cambios en los datos
subyacentes.

Otras tecnologías en desarrollo


JavaScript
Es una de las tecnologías web más usadas. Con este lenguaje de programación multiplataforma,
es posible dar una mayor interactividad y dinamismo a los sitios web. Entre sus distintas
funcionalidades, JavaScript permite crear tanto animaciones como objetos, localizar errores en
formularios, cambiar elementos web de manera intuitiva, crear cookies…
Además, también permite desarrollar aplicaciones tan potentes como Facebook o Twitter. Por
esto, JavaScript es una de las mejores tecnologías para desarrollo web de la actualidad.
HTML
HTML es un lenguaje de marcado usado para la creación de sitios web. Consiste en un conjunto
de códigos cortos, que se clasifican como archivos de textos en las etiquetas. Dicho de otra
manera, el texto se guarda en un archivo llamado HTML que se puede encontrar a través de los
buscadores. Cada una de las etiquetas generadas tiene diferentes funciones.
De forma breve, HTML sirve para describir el contenido de un sitio web, como la información
estructurada de párrafos, imágenes, etc. Por eso, HTML es una de las habilidades indispensables
de un desarrollador web.
CSS
CSS es una de las mejores tecnologías para desarrollo web y a la que más recurren los
programadores gráficos a la hora de desarrollar sus proyectos. Es un lenguaje que sirve, sobre
todo, para indicar la representación visual de las estructuras HTML. De esta manera, el lenguaje
CSS sirve para acotar y trazar el aspecto visual de las etiquetas generadas por el HTML.
Tecnologías backend o del lado del servidor
Las tecnologías backend son las que se ocupan de la implementación de comportamientos de la
web en el servidor. Entre ellas, algunas de las tecnologías para desarrollo web más populares
son:
PHP
La característica principal de PHP es que se usa para la comunicación de un sitio web con un
servidor de datos. Gracias a esta funcionalidad es posible crear un contenido dinámico que
permite trabajar con bases de datos como MySQL y con HTML. Con este lenguaje de
programación de propósito general también es posible proceder a la recopilación de datos de
formularios, la modificación de base de datos o la administración de archivos en el servidor.
Python
La popularidad de Python se debe a que, además de tener una gran cantidad de librerías, es
totalmente gratis. Asimismo, destaca por su sencillez y potencia, ya que usa menos líneas de
código que cualquier otro lenguaje de programación para cualquier aplicación que se ejecute.
Esto supone una gran ventaja respecto a otros tipos de lenguajes de programación y la
constituye, sin duda, como una de las tecnologías web más usadas.
Frameworks y librerías
Además de los lenguajes de programación que definen cómo estará escrito el código, es
importante destacar la importancia de los frameworks de desarrollo. Son una serie de
herramientas y librerías de código ya escrito que facilitan a los desarrolladores las tareas
cotidianas o de uso común para evitar ejecutarlas desde cero.
Los frameworks dan un marco de trabajo para programar en un lenguaje y las librerías se
encargan de solucionar problemas haciendo el código más legible. Algunas de las más populares
son las siguientes:
Angular
Entre los frameworks más usados se encuentra Angular, perfecto para aplicaciones web.
Además, utiliza HTML para realizar UI y es compatible con las últimas versiones de Chrome,
Firefox, Edge, iOS y Android.
React
React está escrito en código abierto en JavaScript, muy útil para construir las interfaces de
usuario. Es una biblioteca, aunque muchos programadores la consideran un framework por la
excelencia de sus componentes. Asimismo, admite y combina diferentes idiomas y tecnologías.

También podría gustarte