Baixe o app para aproveitar ainda mais
Prévia do material em texto
Implementação de Banco de Dados Aula 1 Professor Daniel Silos - 5ª edição - 2016 dsilos@live.estacio.br Introdução ao Modelo Relacional • E.F. Codd ou Edgard Frank Codd • Quem foi? • Onde trabalhava? • Quando criou o modelo? Sistemas Relacionais • Literatura inglesa – DBMS + Relational = RDBMS (Relational Database Management System) • Modelo Relacional – Evento mais importante em toda história da área de Banco de Dados Modelo Relacional Baseia-se Lógica e Matemática O que é um sistema relacional ? • Definição Introdutória • De modo abreviado (e informal), um sistema relacional é aquele no qual: 1. Os dados são percebidos pelo usuário como tabelas (e nada além de tabelas) 2. Os operadores à disposição dos usuários (por exemplo para recuperação de dados) são operadores que “geram” novas tabelas a partir das tabelas originais. (DATE, 2000) Restrição e Projeção (DATE, 2000) • Operador restrição (ou seleção) – Extrai um subconjunto das linhas de uma determinada tabela • Operador Projeção – Extrai um subconjunto das colunas de uma determinada tabela Exemplos: • A tabela abaixo representa um arquivo simples de filmes. Tabela Filmes Restrição: SELECT TITULO, ANO, QTD FROM FILMES WHERE ANO > 2007; Resultado: Projeção: SELECT TITULO, QTD FROM FILMES Resultado: TABELA: PRODUTOS Colunas Li n h as Atributos Tu p la s TABELA: PRODUTOS Busca: SELECT MODELO, COD_PRODUTO, QTD FROM PRODUTOS WHERE ANO_LANCAMENTO = 2012 RESULTADO: Seleção ou Projeção ? Porque “sistemas relacionais”? • A razão pelas quais tais sistemas são ditos “relacionais” é que o termo relação e tabela podem ser considerados sinônimos (propósitos informais) (DATE, 2000). • Dados são guardados em tabelas (ou, matematicamente falando, relações). Estrutura Relacional Tipos de Atributos: • Cada atributo de uma relação tem um nome • O conjunto de valores permitidos para cada atributo é chamado de domínio do atributo. • Valores de atributos são (normalmente) atômicos, isto é, indivisíveis – Exemplo: O valor de um atributo pode ser o número de uma conta, mas não pode ser um conjunto de números de contas. • Domínio é dito atômico se todos os seus membros são atômicos. • O valor especial null (nulo) é um membro de cada domínio. • Valores nulos causam complicações nas definições de muitos operadores. – Por hora ignore a existência e efeitos de valores nulos. Instância de Relação • Consiste no conjunto de valores que cada atributo, definido no esquema, assume em um determinado instante, formando o conjunto de tuplas. • Ex: numero_conta nome_agencia saldo Relações não são ordenadas Ordem de tuplas é irrelevante (tuplas podem ser armazenadas em uma ordem arbitrária) Exemplo: relação de conta com tuplas não ordenadas. numero_conta nome_agencia saldo Base de Dados • Uma base de dados consiste de múltiplas relações • Informação sobre uma empresa é separada em partes, com cada relação armazenando uma parte da informação. –conta: armazena informações de contas – depositante: armazena informação sobre qual cliente é titular de qual conta – cliente: armazena informações de clientes Base de Dados • Armazenamento de todas as informações como uma relação singular tal como: banco(numero_conta, saldo, nome_cliente, ..) resulta em – Repetição de informação • Ex: Se dois clientes são correntistas de uma conta (O que é repetido?) – A necessidade de valores nulos • Ex: para representar um cliente sem uma conta. • Teoria de Normalização lida com como criar esquemas relacionais. • A Relação cliente nome_cliente endereco_cliente cidade_cliente • A Relação correntista nome_cliente numero_conta Chaves • Seja K R • K é uma superchave de R se valores para K são suficientes para identificar uma única tupla de cada possível relação r(R) – Por “possível r ” quer dizer uma relação r que pode não existir na empresa em que esteja sendo modelada. – Exemplo: {nome_cliente, endereco_cliente} e {nome_cliente} são ambas superchaves de cliente, se dois clientes não puderem ter o mesmo nome • Na vida real, um atributo tal como id_cliente poderia ser usado em vez de nome_cliente para representar clientes unicamente, mas identificadores serão omitidos temporariamente para tornar os exemplos menores. Chaves • K é uma chave candidata se K é mínima Exemplo: {nome_cliente} é uma candidata para clientes desde que ela seja uma superchave e que não seja parte de uma superchave como um subconjunto. • Chave Primária: uma chave candidata escolhida como principal meio de identificação de tuplas dentro de uma relação. – Deve-se escolher um atributo cujo valor nunca, ou muito raramente, muda. – Ex: conta de e-mail é única, mas pode mudar com relativa frequência. Chaves Estrangeiras • Um esquema de relação pode ter um atributo que corresponda a uma chave primária de uma outra relação. O atributo é chamado de chave estrangeira. – Ex: nome_cliente e numero_conta , atributos de depositante são chaves estrangeiras para clientes e conta respectivamente. – Somente valores que ocorrem no atributo de chave primária da relação referenciada podem ocorrer no atributo de chave estrangeira da relação referenciando . • Regras de Integridade Relacional – Um dos objetivos principais do SGBD – Integridade dos Dados. – Existem Restrições de integridade: • Restrição de Domínio • Restrição de Chave Primária (unicidade) • Restrição de Entidade • Restrição de Referência • Restrições Semânticas • Restrição de Domínio – Valores de atributos devem apresentar coerência com os domínios correspondentes (salários – números reais positivos) • Restrição de Chave Primária (unicidade) – Cada valor de chave primária deve ser único dentro de seu escopo (a relação a qual pertence). • Restrição de Entidade – O valor de uma chave primária nunca deve ser nulo. O valor nulo não permite a identificação de uma tupla (imagine um aluno sem matrícula homônimo de outro). • Restrição de Referência: – Toda referência a uma tupla através de uma chave estrangeira deve ser verificada, isto é, toda tupla referenciada deve previamente existir no banco de dados a menos que esta restrição seja explicitamente desprezada pelo usuário de BD. – Integridade referencial. • Restrições Semânticas – Que podem ou não serem especificadas ou garantidas por um BD Relacional. – São valores ou características que determinados atributos podem assumir no contexto de uma determinada aplicação. – As restrições semânticas consistem na definição de intervalos de valores para os atributos, limites, condições de existência e outras. – Ex: salário (entre 1.000,00 e 10.0000,00); Sexo pode assumir valores M ou F. http://www.oracle.com/technetwork/products/express-edition/downloads/index.html Download do Oracle 11g Express Baixar: • Oracle Database Express Edition 11g release 2 for Windows x32 ou x64; • Oracle SQL Developer – Este último basta descompacta. Sugiro jogar na mesma pasta onde o Oracle foi instalado. Aconselho também a criar um atalho para o SQL Developer no Desktop. Passos para poder criar ou utilizar um banco de dados. 1) Após instalar o Oracle e o SQL Developer, execute o Run SQL Command Line ou Executar Linhas de Comando SQL. No Oracle, um esquema de banco de dados é associado a um usuário. Para criar um usuário, portanto, siga os seguintes passos: 2) Digite na janela de comando após o cursor SQL> e em seguida pressione ENTER: conn <ENTER> O programa solicitará o nome do usuário que por padrão no Oracle11g é ‘system’ Digite, portanto, system e pressione ENTER em seguida. 3) Em seguida é solicitada uma senha. Esta senha foi criada no momento da instalação do Oracle Express 11g. Entre com a senha correta, pressione ENTER e a mensagem “conectado.” será exibida. 4) Agora, novamente com o cursor SQL> ativo, crie um usuário (escolha o nome do esquema da relação, isto é, do banco de dados). Como primeiro exemplo, crie um esquema chamado empresa. Digite o comando, incluindo ponto e vírgula ao final e pressione ENTER em seguida: CREATE USER empresa IDENTIFIED BY estacio; OBS: estacio será a senha do usuário empresa 5) Em seguida, para que este usuário possa se conectar ao banco, criar tabelas e fazer consultas, é necessário que ele tenha alguns privilégios. Para fornecer tais privilégios, digite o comando abaixo e pressione ENTER em seguida: GRANT CONNECT, RESOURCE TO empresa; Agora o usuário empresa estará apto a se conectar ao SGBD Oracle e a criar e consultar um banco de dados. Para tal, inicie o Oracle SQL Developer: Tela do Oracle SQL Developer Dica: Para visualizar número de linhas na edição de comandos de SQL, execute os seguintes passos: Clique na opção de menu Ferramentas e em seguida na opção Preferências. A seguinte janela surgirá: Abra as opções do Editor de Códigos à esquerda e em seguida clique em Fluxo de linha. Marque à direita na primeira opção de cima a check box ao lado esquerdo do texto Mostrar Números de Linha. Para criar agora uma conexão, na janela principal, na aba Conexões clique no ícone em sinal de uma cruz verde. Em seguida informe o nome da conexão, o nome do usuário e a senha. Com o propósito de criarmos um padrão que facilite a compreensão, utilizaremos um prefixo Con + Nome_do_usuário. Portanto, neste primeiro exemplo, o nome da conexão será ConEmpresa, o usuário empresa e a senha estacio. A opção Salvar senha pode ser marcada para que não seja necessário digitar a senha todas as vezes que for se conectar ao banco. Para finalizar a criação da conexão, clique no botão Conectar. Copie para o seu computador o arquivo empresa.sql e em seguida, abra-o pelo Oracle Developer SQL, clicando no botão abrir e em seguida acessando o caminho do arquivo. Existem duas maneiras de se executar instruções no Oracle SQL Developer. Veja a tabela abaixo: Função Efeito Ícone Atalho Executar Instrução Executa apenas a instrução sobre a qual o cursor se encontra. CTRL + ENTER Executar Script Executa todas as instruções presentes no script. F5 • Bibliografia – DATE, C. J. Introdução a sistemas de banco de dados. 7ª ed. Rio de Janeiro: Campus, 2000. – HEUSER, C. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzato, 1998 (Série de Livros Didáticos, número 4). – SILBERSCHATZ, Abraham; KORTH, Henry F; SUDARSHAN, S. A. Sistema de banco de dados. 5ª ed. Rio de Janeiro: Campus, 2006 – ELMASRI, R.; NAVATHE, S., Sistemas de Banco de Dados. Pearson Education do Brasil, 4ª.Ed 2005. – Manual do Oracle.
Compartilhar