quinta-feira, 24 de novembro de 2011
quarta-feira, 12 de outubro de 2011
Banco de Dados MySQL - Aula 3
The SQL SELECT Statement
The SELECT statement is used to select data from a database.
The result is stored in a result table, called the result-set.
SQL SELECT Syntax
SELECT column_name(s)
FROM table_name
and
SELECT * FROM table_name
Note Note: SQL is not case sensitive. SELECT is the same as select.
An SQL SELECT Example
The "Persons" table:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Now we want to select the content of the columns named "LastName" and "FirstName" from the table above.
We use the following SELECT statement:
SELECT LastName,FirstName FROM Persons
The result-set will look like this:
LastName FirstName
Hansen Ola
Svendson Tove
Pettersen Kari
SELECT * Example
Now we want to select all the columns from the "Persons" table.
We use the following SELECT statement:
SELECT * FROM Persons
Tip: The asterisk (*) is a quick way of selecting all columns!
The result-set will look like this:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Navigation in a Result-set
Most database software systems allow navigation in the result-set with programming functions, like: Move-To-First-Record, Get-Record-Content, Move-To-Next-Record, etc.
Programming functions like these are not a part of this tutorial. To learn about accessing data with function calls, please visit our ADO tutorial or our PHP tutorial.
Banco de Dados MySQL - Aula 2
A database most often contains one or more tables. Each table is identified by a name (e.g. "Customers" or "Orders"). Tables contain records (rows) with data.
Below is an example of a table called "Persons":
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
The table above contains three records (one for each person) and five columns (P_Id, LastName, FirstName, Address, and City).
SQL Statements
Most of the actions you need to perform on a database are done with SQL statements.
The following SQL statement will select all the records in the "Persons" table:
SELECT * FROM Persons
In this tutorial we will teach you all about the different SQL statements.
Keep in Mind That...
SQL is not case sensitive
Semicolon after SQL Statements?
Some database systems require a semicolon at the end of each SQL statement.
Semicolon is the standard way to separate each SQL statement in database systems that allow more than one SQL statement to be executed in the same call to the server.
We are using MS Access and SQL Server 2000 and we do not have to put a semicolon after each SQL statement, but some database programs force you to use it.
SQL DML and DDL
SQL can be divided into two parts: The Data Manipulation Language (DML) and the Data Definition Language (DDL).
The query and update commands form the DML part of SQL:
SELECT - extracts data from a database
UPDATE - updates data in a database
DELETE - deletes data from a database
INSERT INTO - inserts new data into a database
The DDL part of SQL permits database tables to be created or deleted. It also defines indexes (keys), specifies links between tables, and imposes constraints between tables. The most important DDL statements in SQL are:
CREATE DATABASE - creates a new database
ALTER DATABASE - modifies a database
CREATE TABLE - creates a new table
ALTER TABLE - modifies a table
DROP TABLE - deletes a table
CREATE INDEX - creates an index (search key)
DROP INDEX - deletes an index
terça-feira, 11 de outubro de 2011
Banco de Dados MySQL - Aula 1
O MySQL é um SGBD (Sistema de Gerenciamento de Banco de Dados) que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. Especificamente, é um Sistema de Gerenciamento de Banco de Dados Relacional. Em nossos dias é um dos SGBD mais utilizados com mais de 10 milhões de cópias instaladas em todo o mundo, inclusive em grandes empresas.
Vantagens do MySQL:
Portabilidade (multiplataforma);
Compatibilidade (drivers ODBC, JDBC e .NET; módulos de interface para várias linguagens de programação: Delphi, Java, C/C++, C#, Visual Basic, Python, Perl, PHP, ASP e Ruby);
Excelente desempenho, estabilidade e usabilidade;
Pouco exigente quanto a recursos de hardware;
É um Software Livre;
Contempla a utilização de vários Storage Engines como MyISAM, InnoDB, Falcon, BDB, Archive, Federated, CSV, Solid;
Suporta controle transacional;
Suporta Triggers;
Suporta Cursors (Non-Scrollable e Non-Updatable);
Suporta Stored Procedures e Functions;
Replicação facilmente configurável;
Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.
Mais especificamente, o que é SQL?
É uma linguagem de consulta de Banco de Dados, baseada na Teoria dos Conjuntos, pertence ao padrão ANSI (American National Standards Institute). O SQL permite a extração de dados de sua base pela interpretação de linguagem lógica e estruturada - Structured Query Language.
O que o SQL pode fazer?
O SQL executa funções em um Banco de Dados; cria tabelas; bases; insere, atualiza e deleta informações. SQL can create stored procedures in a database
SQL can create views in a database
SQL can set permissions on tables, procedures, and views
SQL is a Standard - BUT....
Although SQL is an ANSI (American National Standards Institute) standard, there are many different versions of the SQL language.
However, to be compliant with the ANSI standard, they all support at least the major commands (such as SELECT, UPDATE, DELETE, INSERT, WHERE) in a similar manner.
Note: Most of the SQL database programs also have their own proprietary extensions in addition to the SQL standard!
Using SQL in Your Web Site
To build a web site that shows some data from a database, you will need the following:
An RDBMS database program (i.e. MS Access, SQL Server, MySQL)
A server-side scripting language, like PHP or ASP
SQL
HTML / CSS
RDBMS
RDBMS stands for Relational Database Management System.
RDBMS is the basis for SQL, and for all modern database systems like MS SQL Server, IBM DB2, Oracle, MySQL, and Microsoft Access.
The data in RDBMS is stored in database objects called tables.
A table is a collection of related data entries and it consists of columns and rows.
quinta-feira, 15 de setembro de 2011
Banco de Dados - Aula 4
Existem alguns tipos de relacionamentos possíveis no MER:
- Um para um (1 para 1) - indica que as tabelas têm relação unívoca entre si. Você escolhe qual tabela vai receber a chave estrangeira;
- Um para muitos (1 para N) - a chave primária da tabela que tem o lado 1 vai para a tabela do lado N. No lado N ela é chamada de chave estrangeira;
- Muitos para muitos (N para N) - quando tabelas têm entre si relação n..n, é necessário criar uma nova tabela com as chaves primárias das tabelas envolvidas, ficando assim uma chave composta, ou seja, formada por diversos campos-chave de outras tabelas. A relação então se reduz para uma relação 1..n, sendo que o lado n ficará com a nova tabela criada.
Banco de Dados - Aula 3
As 13 regras
Há 13 regras que caracterizam SGBD Relacional:
- Regra Fundamental:
- Um SGBD relacional deve gerir os seus dados usando Relações (ou Relacionamentos)
- Um SGBD relacional deve gerir os seus dados usando Relações (ou Relacionamentos)
- Regra da informação:
- Toda informação deve ser representada de uma única forma, como dados em uma tabela
- Regra da garantia de acesso:
- Todo o dado (valor atómico) pode ser acedido logicamente (e unicamente) usando o nome da tabela, o valor da chave primária da linha e o nome da coluna.
- Tratamento sistemático de valores nulos:
- Os valores nulos (diferente do zero, da string vazia, da string de caracteres em brancos e outros valores não nulos) existem para representar dados não existentes de forma sistemática e independente do tipo de dado.
- Catálogo dinâmico on-line baseado no modelo relacional:
- A descrição do banco de dados é representada no nível lógico como dados ordinários (isso é, em tabelas), permitindo que usuários autorizados apliquem as mesmas formas de manipular dados aplicada aos dados comuns ao consultá-las.
- Regra da sub-linguagem compreensiva:
- Um sistema relacional pode suportar várias linguagens e formas de uso, porém deve possuir ao menos uma linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com habilidade de apoiar a definição de dados, a definição de visões, a manipulação de dados, as restrições de integridade, a autorização e a fronteira de transações.
- Regra da atualização de visões:
- Toda visão que for teoricamente atualizável será também atualizável pelo sistema.
- Inserção, atualização e eliminação de alto nível:
- A capacidade de manipular a relação base ou relações derivadas como um operador único não se aplica apenas a recuperação de dados, mas também a inserção, alteração e eliminação de dados.
- Independência dos dados físicos:
- Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as modificações na representação de armazenagem ou métodos de acesso internos.
- Independência lógica de dados
- Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as mudanças de informação que permitam teoricamente a não alteração das tabelas base.
- Independência de integridade:
- As relações de integridade específicas de um banco de dados relacional devem ser definidas em uma sub-linguagem de dados e armazenadas no catálogo (e não em programas).
- Independência de distribuição:
- A linguagem de manipulação de dados deve possibilitar que as aplicações permaneçam inalteradas estejam os dados centralizados ou distribuídos fisicamente.
- Regra da Não-subversão:
- Se o sistema relacional possui uma linguagem de baixo nível (um registro por vez), não deve ser possível subverter ou ignorar as regras de integridade e restrições definidas no alto nível (muitos registros por vez).
quinta-feira, 11 de agosto de 2011
Banco de dados - Aula 2
Conceitos
Chave primária (Primary Keys ou PK) - típica de um banco de dados relacional, é um campo, cujo valor, dentre todos os campos da tupla, nunca poderá se repetir e, portanto, será usado como um índice e identificador para os dados da tabela do banco de dados. Em chaves primárias, não pode haver valores nulos nem repetição de tuplas.
Chave estrageira (Foreign Keys ou FK) - é a chave formada através de um relacionamento de um campo que corresponde-se com uma chave primária de outra tabela.
Índice - é uma estrutura, usualmente um campo, cuja função é diminuir o tempo de acesso às linhas de uma tabela para extração de dados, pela criação de ponteiros para os dados armazenados em colunas específicas. O banco de dados usa o índice de maneira semelhante ao índice remissivo de um livro.
Relacionamento ou Relação - ação que determina a ligação entre tabelas de um banco relacional. Esta relação é fixada através de um campo, cujo valor, dentre todos os campos de uma tupla, não se repetirá, será um índice interno para os dados de uma das tabelas e, podendo repetir-se ou não, será um índice externo na outra tabela. Lembre-se: chaves primárias não podem ter valores nulos nem repetição de tuplas.
Colunas ou Tribunas - categorias ou campos que definem o significado da informação a ser inserida na Tabela.
Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL - linguagem de pesquisa declarativa para banco de dados relacional baseada em álgebra relacional.
quinta-feira, 4 de agosto de 2011
Banco de Dados - Aula 1
Dados são informações sobre um objeto.
Um banco é um depósito.
Assim, um banco de dados é um depósito de informações.
Estudamos bancos de dados para organizar informações de uma forma ideal, que permita sua estruturação regular e a criação ou manipulação de informação.
Usualmente bancos de dados tem relações semânticas ou de finalidade.
Geralmente o banco de dados é criado e gerenciado por meio de um Sistema Gerenciador de Banco de Dados (SGBD). Um SGBD pode adotar um modelo de dados, de forma pura, reduzida ou estendida.
Muitas vezes o termo banco de dados é usado como figura de linguagem para o SGBD.
Exemplos de SGBD:
- PostgreSQL
- Firebird
- MySQL
- Oracle
- SQL-Server
- JADE
- Microsoft Access
- Microsoft Visual Foxpro
Nosso SGBD nas primeiras aulas será o Microsoft Access, que, para ser mais exato é um SGBDR ou seja um Sistema Gerenciador de Banco de Dados Relacional.
O Modelo Relacional se baseia no princípio de que todos os dados do sistema estarão guardados em tabelas, seguindo a Lógica dos Predicados e a Teoria dos Conjuntos.
O modelo baseia-se em dois conceitos:
- Entidade - caracterizada pelos dados que são recolhidos na sua identificação, vulgarmente é designada Tabela. A atribuição de valores a uma entidade constrói um Registro (ou Tupla) na Tabela.
- Relação - determina o modo como cada Registro de cada Tabela se associa a Registros de outras tabelas.