Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 9. Pedro Barahona 2018 / 19
|
|
- Marcos Medina Bayer
- 5 Há anos
- Visualizações:
Transcrição
1 Informática para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 9 Pedro Barahona 2018 / 19
2 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQLITE SQLITE e Python Resoução de probema Nota: Aguns sides adaptados de N. De, J. Lewis, Computer Science Iuminated, 4th Ed 2
3 Bases de Dados Base de Dados: Conjunto de dados estruturado. Semehante a vetores de dicionários vistos na aua passada. Bastante comum para guardardados. Permite usar os dados em diferentes programas (até usando diferentes inguagens). Incui: Suporte ao armazenamento permanente (em ficheiros). Operações para criar, inserir, consutar/procurar, aterar, apagar, etc. 3
4 Sistemas de Gestão de Bases de Dados Sistema de Gestão de Bases de Dados (SGBD) (Database managementsystem, DBMS) Combinação de software e dados: Base de dados (física) Ficheirosestruturados, com osdados. Motor de base de dados (Database Engine) Software que suporta a consuta e modificação dos dados. Esquema de base de dados (Database Schema): Especificação da organização ógica dos dados. 4
5 Sistemas de Gestão de Bases de Dados Esquema da base de dados Utiizador/ Programador Motor da base de dados Ficheiros de suporte da base de dados 5
6 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQLITE SQLITE e Python Resoução de probema 6
7 SGBDs - Modeo Reaciona Usado para descrever a BD e as suas reações Registo (objecto, enedade) Conjunto de atributos (campos) reacionados Anáogo aos dicionários outupos em Python. Campo (ou atributo) Um dos campos de um registo da base de dados. Tabea Conjuntode registos. Anáogo ao vector de dicionários em Python. Base de dados reaciona Conjuntode tabeas reacionadas 7
8 Exempo Tabea de Fimes Tabea de Aunos de uma base de dados universitária (DBU) Muito Simpificada poucos aunos, pouca informação sobre cada um número nome sexo idade Pedro Ameida m João Teixeira m João Manteiga m Dinis Lopes m Rafaea Cartaxo f Raque Moura f 19 Como identificar um registo? 8
9 Tabeas e Chaves A tabea Aunos tem quatro campos Número Nome Sexo Idade número nome sexo idade Pedro Ameida m João Teixeira m João Manteiga m Dinis Lopes m Rafaea Cartaxo f Raque Moura f 19 Chave primária (primary key) Um campo ou combinação de campos que identifica inequivocamente esse registo A chave primária é o número (os outros campos podem não ser diferentes) 9
10 Exempo Tabea de Cientes Tabea de Cadeiras da base de dados universitária (DBU) código nome setor Dinâmica dos Corpos Rígidos EC Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT Anáise de Estruturas I EC A chave primária é o código (podia ser o nome da cadeira?) 10
11 Exempo Tabea de Augueres Como se reacionam os Aunos com as Cadeiras? Através de uma tabea de Notas! A tabea Notas tem duas chaves externas: auno_id, que a iga à tabea Aunos cadeira_id, que a iga à tabea Cadeiras registo auno_id cadeira_id nota ano D registo é a suachave primária não pode haver dois ançamentos com o mesmo nº de registo 11
12 Queries com várias Tabeas Quais as Cadeiras frequentadas peo Pedro Ameida? registo auno_id cadeira_id nota ano D número nome sexo idade Pedro Ameida m João Teixeira m João Manteiga m Dinis Lopes m Rafaea Cartaxo f Raque Moura f 19 código nome setor Dinâmica dos Corpos Rígidos EC Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT Anáise de Estruturas I EC 20 Maio : SQL (várias tabeas); Simuação modeos cononuos 12
13 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQLITE SQLITE e Python Resoução de probema 13
14 SQL (Structured Query Language) Uma inguagem para manipuar dados e efetuar perguntas (queries) sobre os dados armazenados na base de dados. Interpretada peo motor do SBD Independente das inguagensde programação Utiizáve interativamente peo utiizador Permite: Criar tabeas, descrevendo osseuscampos (esquema). Inserir, aterar e remover registos das tabeas. Fazer perguntas (interrogações). 14
15 Criação de Tabeas em SQL Tabeas são criadas com a instrução CREATE CREATE TABLE nome-tabea ( Campo-1 tipo-1, Campo-2 tipo-2,... Campo-n tipo-n ); Nome databea Esquema da Tabea em que para aém do nome da tabea são identificados os seus campos com os respectivos tipos. Tipicamente os tipos utiizados são numéricos, textuais ou Booeanos (BOOL). Nota: A tabea é criada sem registos 15
16 Criação de Tabeas em SQL código nome setor Dinâmica dos Corpos Rígidos EC Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT Anáise de Estruturas I EC bd >> CREATE TABLE Cadeiras ( codigo INTEGER, nome TEXT,...>> setor VARCHAR(3)); bd >> Em SQL é indiferente escrever as paavras-chave em maiúscuas ouminúscuas. No entanto, é comum escrever-se emmaiúscuas. Quanto aos nomes dos campos e tabeas depende do sistema. À cautea, é mehor escrever estes nomes de forma consistente. 16
17 Aguns Tipos usados em SQL Tiposnuméricos mais utiizados: INTEGER: Inteiro; REAL: Rea (com precisão simpes) DOUBLE: Rea (com precisão dupa) Tiposde string: CHAR(N): string com exactamente N caracteres. VARCHAR(N): string com N caracteres no máximo TEXT: string mais onga Nota: em Sqite3, as trings são todas tratadas como TEXT O número de caracteres não é vaidado 17
18 Criação de Tabeas em SQL Na criação de Tabeas deve ser especificadauma chave primária A chave primária corresponde ao campo (ou combinação de campos) que identificam inequivocamente cada registo. bd >> CREATE TABLE Cadeiras ( codigo INTEGER, nome TEXT,...>> setor VARCHAR(3), PRIMARY KEY(codigo)); bd >> Repetições (registos com a mesma chave primária) não são permitidas (é reportado um erro). Neste exempo, não podem ser criadas duas cadeiras com o mesmo código! «Mas podem ter o mesmo nome (ex. para cursos diferentes) 18
19 Criação de Tabeas em SQL Exempo: Tabea de Aunos número nome sexo idade Pedro Ameida m João Teixeira m João Manteiga m Dinis Lopes m Rafaea Cartaxo f Raque Moura f 19 bd>> CREATE TABLE Aunos ( numero INTEGER, Nome TEXT,..>> sexo CHAR(1), idade Integer, PRIMARY KEY(numero)); bd>> 19
20 Criação de Tabeas em SQL Exempo: Tabea de Notas registo auno_id cadeira_id nota ano D bd >> CREATE TABLE Notas ( registo INTEGER, auno_id INTEGER,...>> cadeira_id TEXT, nota TEXT, ano INTEGER,...>> PRIMARY KEY(registo)); bd >> 20
21 Eiminação de Tabeas em SQL Eiminar Tabea: DROP Após a criação de uma tabea que por agum motivo não nos interessa, por exempo, bd >> CREATE TABLE Errada (Num INTEGER, Nome TEXT); bd >> ea pode ser eiminada (com todos os registos nae incuidos) através do comando DROP bd >> DROP TABLE Errada; bd >> 21
22 Inserção de Registos em SQL Inserir registos: INSERT Um registo pode ser inserido numa tabea com a instrução INSERT INSERT INTO tabea VALUES ( vaor1, vaor2,..., vaorn) Os vaores dos campos neste registo, são indicados na mesma ordem da definição origina dos campos no CREATE TABLE. código nome setor Dinâmica dos Corpos Rígidos EC Informática para Ciências e Engenharias C INF 1837 Materiais de Construção I EC 5004 Anáise Matemática III C MAT Anáise de Estruturas I EC bd >> INSERT INTO Cadeiras VALUES (...>> 10432, "Dinamica dos Corpos Rigidos", "EC"); bd >> 22
23 Seecção de Registos em SQL Seecionar registos: SELECT Um ou mais registos podem ser seecionados duma ou mais tabeas com a instrução SELECT SELECT ista-campos FROM ista-tabeas WHERE condição ORDER BY campo; Os registos são fitrados pea condição WHERE Podem ser apresentados de uma forma ordenada pea opção ORDER BY. 23
24 Seecção de Registos em SQL Aguns exempos (umasó tabea): bd >> SELECT * FROM Aunos; % mostra todos os registos da tabea Aunos bd >> SELECT Nome FROM Aunos WHERE sexo = "f"; % mostra o nome de todos as aunos da tabea Aunos % cujo sexo seja f" bd >> SELECT Numero, Nome FROM Aunos ORDER BY Nome; % mostra os campos Numero e Nome dos registos da tabea % Aunos ordenados afabeticamente peo campo Nome 24
25 Modificação de Registos em SQL A instrução UPDATE permite aterar vaores dos campos de uma tabea, para os registos seecionados UPDATE tabea SET campo = vaor WHERE condição; registo auno_id cadeira_id nota ano X XD bd >> UPDATE Notas SET nota = "X"...>> WHERE auno_id = 51083; % atera todos os registos da tabea Notas, cujo auno_id seja 51083, aterando o vaor do campo nota para "X". 25
26 Eiminação de Registos em SQL A instrução DELETE permite apagar todos os registos de uma tabea, seecionados por uma condição (opciona). DELETE FROM tabea WHERE condição; registo auno_id cadeira_id nota ano D bd >> DELETE FROM Notas WHERE auno_id = 68059; % atera todos os registos da tabea Notas, cujo auno_id seja Nota: Apagar todos os registos de uma tabea não a eimina. Para o fazer deve ser usado o comando DROP 26
27 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQLITE SQLITE e Python Resoução de probema 27
28 SQLite Neste curso vamos ueizar o SQLITE Motor de bases de dados Gratuito, código aberto ( htp:// ) Existem versões Windows, Linux e Mac OS X. Podemos usá-o interacevamente como interpretador de inhas de comando. Interpreta SQL e gere a base de dados 28
29 SQLite Para executar: descarregar o executáve do SQLite de hmps://sqite.org/downoad.htm No Windows: descarregar um dos ficheiros sqite-d-win64-x zip sqite-d-win32-x zip Descomprimir e coocar o ficheiro sqite3.exe na pasta de trabaho No Mac: descarregar o ficheiro sqite-toos-osx-x zip Descomprimir e coocar o ficheiro sqite3 na pasta de trabaho 29
30 SQLite Para criar/utiizar em SQLITE uma base de dados, com nome basedados, existente na directoria corrente, (ta como o programa sqite3) pode utiizarse a consoa do sistema (e.g. Cmd no Windows ou Termina no Mac) e chamar o sqite Para criar/ utiizar a base de dados utiizar o comando (que modifica o prompt) >> sqite3 basedados; sqite> No fina, vota-se à janea de comandos do OCTAVE com a comando sqite.quit (votando ao prompt inicia da consoa) sqite>.quit >> 30
31 SQLite Para aém das instruções SQL, o SQLite dispõe de aguns comandos parecuares (iniciados com. ).hep istacomandos disponíveis (aémdo SQL).read nomeficheiro executa script SQL.schema.quit istaesquemasdas tabeas sair do interpretador 31
32 SQLite.prompt first cont Modifica o prompt norma do sqite para first e o das inhas de conenuação para cont.tabes istaas tabeas.separator sep especificasep como separador dos campos.import ficheiro tabea Importa o ficheiro para a tabea assumindo os campos separadospeo separadordefinido 32
33 SQLite Exempo: Criação da base de dados bdu.bd, com uma tabea de Aunos, introduzindo-se 2 aunos (com uma mudança prévia do prompt). >> sqite3 bdu.bd sqite>.prompt 'bd>> ' '..>> bd >> CREATE TABLE Cadeiras...>> ( codigo INTEGER, nome TEXT, setor VACHAR(3),...>> PRIMARY KEY(codigo)); bd >> INSERT INTO Cadeiras VALUES (...>> 10432, "Dinamica dos Corpos Rigidos", "EC"); bd >> INSERT INTO Cadeiras VALUES (...>> 11147, "Informatica para Ciencias e Engenharias C", "INF"); bd>> SELECT * FROM Cadeiras; Dinamica dos Corpos Rigidos EC Informatica para Ciencias e Engenharias C INF bd >> 33
34 SQLite Para aém das instruções SQL, o SQLite dispõe de aguns comandos parecuares (iniciados com. ).hep istacomandos disponíveis (aémdo SQL).read nomeficheiro executa script SQL.schema.quit istaesquemasdas tabeas sair do interpretador 34
35 SQLite.prompt first cont Modifica o prompt norma do sqite para first e o das inhas de conenuação para cont.tabes istaas tabeas.separator sep especificasep como separador dos campos.import ficheiro tabea Importa o ficheiro para a tabea assumindo os campos separadospeo separadordefinido 35
36 SQLite Exempo (cont): Com a base de dados bdu.bd, já criada. bd >>.tabes Cadeiras bd >>.schema CREATE TABLE Cadeiras ( codigo INTEGER, nome TEXT, setor VACHAR(3), PRIMARY KEY(codigo)); bd >>.separator ' ::' bd >> seect * FROM Cadeiras; ::Dinamica dos Corpos Rigidos ::EC ::Informatica para Ciencias e Engenharias C ::INF bd >>.quit >> 36
37 Bases de Dados - Porquê Funcionaidade: é simpes obter respostas a questões compexas usando a inguagem SQL. Abstração: SQL é uma inguagem que permite idar com os dados e é conhecida por programadores, apicações e bibiotecas. Fiabiidade: as BDs preservam a informação, entre execuções e mesmo na ocorrência de fahas de hardware e soxware. Desempenho: as BDs foram concebidas para acessos eficientes; o processamento de interrogações SQL é normamente mais rápido do que se o programador consutasse ficheiros. Acesso concorrente: as BDs permitem acessos simutâneos por vários programas. Um exempo é o uso de BDs em comércio eetrónico (com transações via Web). 37
38 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQLITE SQLITE e Python Resoução de probema 38
39 Python + SQLite O Python tem integrado o sqite3 (desde a versão 2.5 do Python). Para manipuar bases de dados sqite3, deve-se usar a bibioteca sqite3, importando-a com o comando import sqite3 [as sq] Para aceder a uma base de dados existente, ou criar uma nova base de dados, com o nome nomebd, usa-se o método: Bd = sqite3.connect(nomebd, isoazon_eve = None ) O método devove um objeto (do epo sqite3.connec9on) usado depois para executar instruções na base de dados. Nota: O parâmetro isoa&on_eve = None garante que todas as aterações feitas na base de dados (por exempo com inserts) são imediatamente feitas, não havendo necessidade de ueizar cursores, ou fazer commits, para se executarem de facto essasaterações. 39
40 Python + SQLite Para executar uma operação de criação ou eiminação de tabeas ou registos, de uma base de dados representada peo cursor bd, usa-se o método execute res = bd.execute(instrução) O método retorna um objeto (do tipo cursor) que nos permite obterinformação sobre o resutado da operação. Por exempo, pode-se saber quantas inhas foram modificadas, acedendo à variáve interna do cursor retornado res.rowcount 40
41 Exempo: Python + SQLite Criação da base de dados bdu.bd, com uma tabea de Aunos. In : import sqite3 as sq In : bd = sq.connect('bdu.bd, isoation_eve = None) In : com = 'CREATE TABLE Cadeiras\...: ( codigo INTEGER, nome TEXT, setor VACHAR(3),\...: PRIMARY KEY(codigo));' In : res = bd.execute(com) Uma vez criadas tabeas na base de dados, podem serobedas as tabeas existentes na base de dados. ser inseridos / eiminados registos nas tabeas (com as instruções SQLvistasatrás). 41
42 Python + SQLite Exempo: Para se obterem as tabeas da base de dados pode usar-se uma seeção da (meta)tabea sqite_master. As tabeas podem ser posteriormente obedas anaisando os resutados obedos (método fetcha do cursor) In : com = 'SELECT name FROM sqite_master WHERE type="tabe"; In : res = bd.execute(com) In : tabeas = res.fetcha() In : tabeas Out: [( Cadeiras',)] 42
43 Uma vez criadas as tabeas, podem inserir-se registos Exempo: Python + SQLite Introdução de 2 aunos, introduzindo-se 2 aunos.... In : com = 'INSERT INTO Cadeiras VALUES (\...: 10432, "Dinamica dos Corpos Rigidos", "EC");' In : res = bd.execute(com) In : com = 'INSERT INTO Cadeiras VALUES (\...: 11147, "Informatica para Ciencias e Engenharias C", "INF"); ' In : res = bd.execute(com) In : res.rowcount Out: 1 43
44 Exempo: Python + SQLite Se se tentarem inserir registos com a mesma chave primária de outros existentes na base de dados, é detetado um erro e a execução do programa é abortada. Para evitar essa situação pode ser usado a instrução try. In : com = 'INSERT INTO Cadeiras VALUES (\...: 10432, "Dinamica dos Corpos Rigidos", "EC");' In : try:...: bd.execute(com)...: except sq.error as erro:...: print('erro: ', erro.args[0]) Out: Erro: UNIQUE constraint faied: Cadeiras.codigo Em gera, o tipo de erro na execução de uma instrução SQL pode serobtido pea inspeção da variáve sq.error 44
45 Python + SQLite Para o acesso a registos pode usar-se a instrução sq SELECT() que atuaiza o objeto cursor (epo sqite3.cursor) com os registos idos. Os registos podem seridos com os métodos fetcha() que devove uma sequênciade todos os tupos idos fetchone() que devove um tupo ido e que pode ser usado sequenciamente até aceder a todos os registos idos 45
46 Exempo: SQLite Acesso à base da base de dados bdu.bd, com cursor bd. In : com = SELECT * FROM Cadeiras;' In : res = bd.execute(com) In : records = res.fetcha() In : records Out: [(10432, 'Dinamica dos Corpos Rigidos', 'EC'), (11147, 'Informatica para Ciencias e Engenharias C', 'INF )] In : type(records) Out: ist In : res = bd.execute(com) In : rec = res.fetchone() Out: (10432, 'Dinamica dos Corpos Rigidos', 'EC ) In : rec = res.fetchone() Out: (11147, 'Informatica para Ciencias e Engenharias C', 'INF ) In : rec = res.fetchone() Out: 46
47 A partir de um objeto res (devovido por uma instrução SELECT e com tipo sqite3.cursor) podem ser obtidos os nomes dos seus campos com a instrução Exempo: Python + SQLite res.description[num][0] In : com = SELECT * FROM Cadeiras;' In : res = bd.execute(com) In : res.description[0][0] Out: 'código' In : res.description[1][0] Out: 'nome' In : res.description[2][0] Out: 'setor' In : res.description[3][0] IndexError: tupe index out of range 47
48 Python + SQLite Finamente, quando se finaizar a ueização da base de dados, ea deve ser fechada com o método.cose() Exempo: In : bd = sq.connect('bdu.bd )... In : bd.cose() 48
49 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQLITE SQLITE e Python Resoução de probema 49
50 Probema Exempo: Python + SQLite Foram registadas num ficheiro* todas as obras do conceho de Cascais concessionadas peas juntas de freguesia no ano de a) Pretende-se determinar quantas obras foram concessionadas nas várias freguesias do conceho b) Com base nessa informação, desenhar um histograma com o número de obras, discriminadas por freguesia. * htps://dados.gov.pt/en/datasets/obras-de-concessionarios/ 50
51 Exempo: Python + SQLite Probema Aternativo a) Pretende-se determinar quantas obras foram concessionadas nas várias freguesias do conceho, divididas em 3 categorias de acordo com a sua duração. Curta : menos de 2 dias Média: entre 3 e 10 dias Longa : mais de 10 dias 51
52 Exempo: Python + SQLite O ficheiro texto, com nome obras_cascais.csv, contém a informação sobre as várias obras em várias inhas, cada uma referente a uma obra, com os campos, separados por, <Promotor>,<Freguesia>,<Data Prevista de Início>,<Data Prevista de Fim>,<Número do Processo>,<Estado>,<Data de actuaização> Promotor Freguesia Data Prevista Data Prevista Número do de Início de Fim Processo Estado Data de actuaização - Águas de Ca Acabideche 04/01/ /01/2016 IVP/0478/15 Licenciado 14/12/ :12 LISBOAGÁS U.F. Cascais e Estori 02/05/ /05/2016 IVP/0160/16 Obra concuída 13/05/ :08 MEO U.F. Carcaveos e Parede 26/04/ /05/2016 IVP/0139/16 Licenciado 12/04/ :03 52
53 Exempo: Python + SQLite Mais especificamente, pretende-se a) Criar uma base de dados (BD) com uma tabea b) Inserir dados das obas concessionadas c) Queseonar a BD usando SQL d) Desenhar o histograma com os dados seecionados 53
54 Resoução Probema 1. Compreender totamente o probema. 2. Caracterizar o probema. Probema: Obras Concessionadas Entrada: Saída: (string) nomefichdados, (string) nomebasedados nenhuma. A base de dados com nome nomebasedados é criada e desenhado um histograma com as obras discriminadas pea sua duração e freguesia. 3. Generaizar o probema (sempre que for possíve). Poderíamos determinar as várias categorias de duação das obras, mas vamos assumir que as categorias sãofixas (curtas 54
55 Resoução Agoritmo [1] 4. Desenhar o agoritmo para resover o probema. a) Conceber o agoritmo, decompondo o probema em subprobemas. Neste caso, podemos ideneficar os seguintes subprobemas: 1. Criar a base de Dados 2. Queseonar a base de dados 3. Desenhar o histograma 55
56 b) Identificar, caracterizar e generaizar cada sub-probema. Probema: Entrada: Saída: Resoução Agoritmo [2] Criar a Base de Dados (string) nomefichdados. Não existe. É criada uma base de dados, com uma inha por obra, com campos <Processo>, <Promotor>, <Freguesia>, <Duração> Promotor Freguesia Data Prevista Data Prevista Número do de Início de Fim Processo Estado Data de actuaização - Águas de Ca Acabideche 04/01/ /01/2016 IVP/0478/15 Licenciado 14/12/ :12 LISBOAGÁS U.F. Cascais e Estori 02/05/ /05/2016 IVP/0160/16 Obra concuída 13/05/ :08 MEO U.F. Carcaveos e Parede 26/04/ /05/2016 IVP/0139/16 Licenciado 12/04/ :03 nº Processo Promotor Freguesia Duração IVP/0478/15 AdC - Águas de Cascais Acabideche 5 IVP/0160/16 LISBOAGÁS U.F. Cascais e Estori 1 IVP/0139/16 MEO U.F. Carcaveos e Parede 16 56
57 b) Ideneficar, caracterizar e generaizar cada sub-probema. Probema: Consutar a Base de Dados Entrada: Saída: Resoução Agoritmo [3] (string) nomebase de Dados. (dict) obras, um dicionário (de dicionários) com a informação recohida. nº Processo Promotor Freguesia Duração IVP/0478/15 AdC - Águas de Cascais Acabideche 5 IVP/0160/16 LISBOAGÁS U.F. Cascais e Estori 1 IVP/0139/16 MEO U.F. Carcaveos e Parede 16 { Acabideche : Nacabideche, UF Cascais Estori : Ncascais, UF Carcaveos Parede : Ncarcaveos, S. Domingos de Rana : Nsdomingos} Aternaeva: { Acabideche : { curtas : Xa, médias : Ya, ongas : Za}, UF Cascais Estori : { curtas : Xb, médias : Yb, ongas : Zb}, UF Carcaveos Parede : { curtas : Xc, médias : Yc, ongas : Zc}, S. Domingos de Rana : { curtas : Xd, médias : Yd, ongas : Zd}} 57
58 Resoução Agoritmo [4] b) Ideneficar, caracterizar e generaizar cada sub-probema. Probema: Desenhar Histograma Entrada: (dict) obras. Saída: Não existe. Apenas é desenhado um histograma. { Acabideche : Nacbideche, UF Cascais Estori : Ncascais, UF Carcaveos Parede : Ncarcaveos, S. Domingos de Rana : Nsdomingos} { Acabideche : { curtas : Xa, médias : Ya, ongas : Za}, UF Cascais Estori : { curtas : Xb, médias : Yb, ongas : Zb}, UF Carcaveos Parede : { curtas : Xc, médias : Yc, ongas : Zc}, S. Domingos de Rana : { curtas : Xd, médias : Yd, ongas : Zd}} 58
59 Resoução Agoritmo [5] 5. Para cada sub-probema, desenhar o agoritmo para o resover. Criação da Base de Dados: criabd( nomefichdados, nomebasedados ) eitura de ficheiro oca e criação da base de dados Consuta da Base de Dados : consutabd (nomebasedados) : consuta da base de dados e criação do dicionário Histograma: histograma ( nomedicionário) desenhodohistogramacorrespondente aodicionário 59
60 Resoução Programa [1] 6. Para cada sub-probema (começando peos mais simpes), impementar o respeevo agoritmo e testar o subprograma. Função: criabd(nomefichdados, NomeBaseDados) 1. Abrir ficheirode dados 2. Criar base de dados 3. Criar tabea obras com campos 4. Para cada inha do ficheiro de dados i. Criar os vaores dos campos ii. Inserir registo na tabea 5. Fechar a base de dados 6. Fechar o ficheiro de dados 60
61 Resoução Programa [2] 6. Para cada sub-probema (começando peos mais simpes), impementar o respetivo agoritmo e testar o subprograma. Função: criabd(nomefichdados, NomeBaseDados) 1. Abrir ficheirode dados 2. Criar base de dados 3. Criar tabea obras com campos 4. Para cada inha do ficheiro de dados i. Criar os vaores dos campos ii. Inserir registo na tabea 5. Fechar a base de dados 6. Fechar o ficheiro de dados 61
62 Resoução Função criabd [1] def criabd(nomefichdados, NomeBaseDados): """... """ bd = sq.connect(nomebasedados, isoation_eve = None) com = 'CREATE TABLE Obras\ ( processo TEXT,Promotor TEXT,Freguesia TEXT, \ Duracao INTEGER, PRIMARY KEY(processo)); res = bd.execute(com) fich= open(nomefichdados, 'r ) fich.readine() for ine in fich.readines(): fich.cose() bd.cose() 62
63 Resoução Função criabd [2] for ine in fich.readines(): inha = ine.spit(, ) processo = inha[4] promotor = inha[0] freguesia = inha[1] duração= cacua_duracao(inha[2], inha[3]) com = INSERT INTO Obras VALUES (processo, promotor, freguesia, duração); bd.execute(com) Promotor Freguesia Data Prevista Data Prevista Número do de Início de Fim Processo Estado Data de actuaização - Águas de Ca Acabideche 04/01/ /01/2016 IVP/0478/15 Licenciado 14/12/ :12 LISBOAGÁS U.F. Cascais e Estori 02/05/ /05/2016 IVP/0160/16 Obra concuída 13/05/ :08 MEO U.F. Carcaveos e Parede 26/04/ /05/2016 IVP/0139/16 Licenciado 12/04/ :03 nº Processo Promotor Freguesia Duração IVP/0478/15 AdC - Águas de Cascais Acabideche 5 IVP/0160/16 LISBOAGÁS U.F. Cascais e Estori 1 IVP/0139/16 MEO U.F. Carcaveos e Parede 16 63
64 Resoução Função criabd [3] def duracao(inicio, fim) dia_inicio = int(inicio[0:2]) mes_inicio = int(inicio[3:5]) dia_fina = int(fim[0:2]) mes_fina = int(inicio[3:5]) inicio= primeiro(mes_inicio)+dia_inicio -1; fina = primeiro(mes_fina)+ dia_fina -1; return fina-inicio+1 Data 04/01/ /05/ /04/2016 def primeiro(mes) if mes == 1 : return 1 eif mes == 2 : return 32 ese : return 335 primeiro dia do mês Janeiro 1 Fevereiro 32 Março 60 Abri 91 Maio 121 Junho 152 Juho 182 Agosto 213 Setembro 244 Outubro 274 Novembro 305 Dezembro
65 Resoução Programa [3] 6. Para cada sub-probema (começando peos mais simpes), impementar o respeevo agoritmo e testar o subprograma. Função: consutabd (nomebasedados) 1. Abrir base de dados 2. Ler as freguesias existentes 3. Criar dicionário vazio com obras por freguesia 4. Para cada inha do ficheiro de dados i. Verificar a que freguesia pertence a obra ii. Incrementar o correspondente vaor no dicionário 5. Fechar a base de dados 6. Retornar o dicionário 65
66 Resoução Função consutabd def consutabd(nomebasedados): """... """ bd = sq.connect(nomebasedados, isoation_eve = None) com = 'SELECT DISTINCT freguesia FROM Obras;' res = bd.execute(com).fetcha() freguesias = [f[0] for f in res] dados = {} for freguesia in freguesias: com = 'SELECT * FROM Obras WHERE freguesia = '\ + freguesia + '";' res = bd.execute(com).fetcha() n = en(res) dados.update({freguesia: n}) bd.cose() return dados 66
67 Resoução Programa [3] Nota Importante: O comando SQL onde se pretendem er as obras por freguesia deve ter a forma indicada no exempo abaixo SELECT * FROM Obras WHERE freguesia = "Acabideche"; em que o nome da freguesia é indicado entre aspas (uma string ). Para obter essa string a parer da string correspondente ªA freguesia faz-se pois a concatenação das strings incuindo as aspas (dentro de strings imitadas por picas). com = 'SELECT * FROM Obras WHERE freguesia = "' \ + freguesia + '";' 67
68 Resoução Programa [4] 6. Para cada sub-probema (começando peos mais simpes), impementar o respeevo agoritmo e testar o subprograma. Função: histograma (dados) 1. Ler as freguesias existentes no dicionário (eixo X) 2. Criar um vetor com as obras por freguesia (eixo Y) 3. Imprimir umhistograma com esse vetor 4. Competar o histograma (otuo, egenda,etc...) 5. Guardar o histograma numa figura 68
69 Resoução Função histograma [2] def histograma(dados): """... """ fregs = dados.keys() freguesias = [] n_obras = [] for freg in fregs: n_obras.append(dados[freg]) freguesias.append(freg[0:15]) pt.bar(freguesias, n_obras) pt.tite('obras Reaizadas nas Freguesias de Cascais') pt.yabe('duração das Obras') pt.xabe('freguesias') pt.savefig('histograma.png') 69
70 Resoução Função obras Finamente, a função obras junta as 3 funções desenvovidas anteriormente para resover o probema. def obras(nomefichdados, NomeBaseDados): """... """ criabd(nomefichdados, NomeBaseDados) dados = consutabd(nomebasedados) histograma(dados) Esta função e as suas sub-funções podem ser testadas com o ficheiro obras_cascais_2016.csv, em anexo. 70
71 Para Consutar SQL Muito fáci encontrar tutoriais na Web, mas normamente têm muito mais do que damos aqui. Exempo de dois sites que podem se úteis: « « 71
Informática para Ciências e Engenharias (B) 2015/16. Teórica 10
Informática para Ciências e Engenharias (B) 2015/16 Teórica 10 Na aua de hoje Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQL e MATLAB Um exempo prático Nota:
Leia maisInformática para Ciências e Engenharias (B) 2016/17. Teórica 9
Informática para Ciências e Engenharias (B) 2016/17 Teórica 9 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQL e MATLAB Um exempo prático Nota: Aguns
Leia maisInformá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 8. Pedro Barahona 2016 / 17
Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 8 Pedro Barahona 2016 / 17 Sumário Introdução aos sistemas de bases de dados: Modeo reaciona SQL (Structured Query Language) SQL
Leia maisInformática para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2018 / 19
Informática para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 10 Pedro Barahona 2018 / 19 Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas emsql. Simuação de
Leia mais15 - Introdução às Bases de Dados
ICE-B 15 - Introdução às Bases de Dados Ludwig Krippahl Bases de Dados Resumo Introdução aos sistemas de bases de dados: Modelo relacional SQL (Structured Query Language) Criar tabelas Inserir dados Consultar
Leia maisInformática para Ciências e Engenharias (B) 2015/16. Teórica 5
Informática para Ciências e Engenharias (B) 2015/16 Teórica 5 Na aua de hoje Controo de execução cicos condicionais whie end Exempos raiz quadrada whie Histograma whie e matrizes fórmua química whie e
Leia maisInformá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2016 / 17
Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 10 Pedro Barahona 2016 / 17 Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas em SQL. Simuação de
Leia maisInformática para Ciências e Engenharias (B) 2015/16. Teórica 9
Informática para Ciências e Engenharias (B) 2015/16 Teórica 9 Na aua de hoje Estruturas e vectores de estruturas. Cácuo da massa moecuar Cácuo da fracção de um resíduo em sequências de proteínas Estruturas
Leia maisInformática para Ciências e Engenharias (B) 2015/16. Teórica 11
Informática para Ciências e Engenharias (B) 2015/16 Teórica 11 Na aua de hoje Sistemas de bases de dados: Interrogações mais compexas em SQL Envovendo várias tabeas Simuação de modeos contínuos: Integração
Leia maisInformática para Ciências e Engenharias (B) 2016/17. Teórica 3
Informática para Ciências e Engenharias (B) 2016/17 Teórica 3 Na aua de hoje Vetores. Cicos FOR. Percursos em vetores. Exempos 22 Março 2017 Vetores; cicos FOR 2 Probema dos Contaminantes Para avaiar a
Leia maisInformática para Ciências e Engenharias (B) 2016/17. Teórica 1
Informática para Ciências e Engenharias (B) 2016/17 Teórica 1 Informação Regência / Teóricas Pedro Barahona (pb@fct.un.pt) Auas Práticas Pedro Barahona (pb@fct.un.pt) Jorge Cruz (jcrc@fct.un.pt) Ludwig
Leia mais2 o Teste de ICE-B, 6 de Junho de 2018 (Versão B)
2 o Teste de ICE-B, 6 de Junho de 2018 (Versão B) Três páginas com 7 perguntas mais duas folhas de resposta. Duração: 1 hora e 45 minutos Atenção: Preencha cuidadosamente cada folha de resposta, escrevendo
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED
Leia maisInformática para Ciências e Engenharias (B) 2015/16. Teórica 1
Informática para Ciências e Engenharias (B) 2015/16 Teórica 1 Informação Regência e Teóricas Pedro Barahona (pb@fct.un.pt) Outros docentes e mais informação na...... página de ICE-B: http://ssdi.di.fct.un.pt/ice/b
Leia maisInformática para Ciências e Engenharias (B) 2015/16. Teórica 3
Informática para Ciências e Engenharias (B) 2015/16 Teórica 3 Na aua de hoje Cico for for end Vectores numéricos e strings sequências de números indexação de vectores Percursos em vectores Cico For Instrução
Leia maisImportar e Exportar Dados
Importar e Exportar Dados Administração de Base de Dados OBJECTIVOS: Definir comandos e formatos Definir restrições (constraints) DEFINIÇÃO DO ESQUEMA DA BASE DE DADOS O esquema da BD e composto pelas
Leia maisBanco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
Leia maisBases de Dados. DDL Data Definition Language
Bases de Dados DDL Data Definition Language SQL SQL = Structured Query Language Foi originalmente criada pela IBM nos anos 70 como parte de um protótipo de sistema relacional Posteriormente foi implementada
Leia maisInformática para Ciências e Engenharias - 2º semestre 2018/2019
Informática para Ciências e Engenharias - 2º semestre 2018/2019 2º Teste, 8 de Junho de 2019, 1h:45m + 30m versão A ICE: ; Nome: ; Nº Avisos: Sem consulta; a interpretação do enunciado é da responsabilidade
Leia maisComputação e Linguagem de Programação
Computação e Linguagem de Programação Aua 5 parte 1 Professores Sandro Fonseca de Souza Dison de Jesus Damião 1 Sumário Bibiografia Sugerida Motivações em FAE Introdução à Programação Linguagem de Programação
Leia maisInformática para Ciências e Engenharias 2013/14. Teórica 10
Informática para Ciências e Engenharias 2013/14 Teórica 10 Na aula de hoje... Introdução aos sistemas de bases de dados: Modelo relacional SQL (Structured Query Language) SQL e MATLAB Um exemplo prático
Leia maisMYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>
1. Manuseio do banco de dados MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS As seguintes instruções manuseiam o banco de dados: cria o banco mostra os bancos
Leia mais2 o Teste de ICE-B, 8 de Junho de 2019 (Versão B)
2 o Teste de ICE-B, 8 de Junho de 2019 (Versão B) Três páginas com 7 perguntas+tp2, três folhas de resposta. Duração total: 2 horas Atenção: Preencha cuidadosamente cada folha de resposta, escrevendo o
Leia maisA linguagem SQL
SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão
Leia maisSQL (Tópicos) Structured Query Language
SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir
Leia maisAULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)
AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados
Leia maisBanco de Dados. Professora: Luciana Faria
Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é
Leia maisInformática para Ciências e Engenharias (B) 2015/16. Teórica 8
Informática para Ciências e Engenharias (B) 2015/16 Teórica 8 Na aua de hoje Organização de um disco. Sistema de ficheiros. Ficheiros de texto e binários. Operações sobre ficheiros de texto. Ficheiros
Leia maisFlickr, shindotv/ / BASES DE DADOS. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes
Flickr, shindotv/3835365695/ BASES DE DADOS Laboratórios de Informática 2014-2015 João Paulo Barraca, André Zúquete, Diogo Gomes Armazenamento de Informação Aplicações necessitam de armazenar informação
Leia maisMysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados
Mysql Quanto mais informações você busca, mais você evolui. Vitor Ramos SQL Structured Query Language - Linguagem de Consulta Estruturada Desenvolvida pela IBM, nos anos 70; Inicialmente chamada SEQUEL
Leia maisAula 06 Sistemas Embarcados LT38C
Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1 Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito.
Leia maisSumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010
Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)
Leia maisIntrodução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto
(CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Eduardo R. B. Marques DCC/FCUP parcialmente adaptado de slides por Fernando Silva e Ricardo Rocha Alguns
Leia maisInformática I. Aula 8. Aula 8-25/09/2006 1
Informática I Aula 8 http://www.ic.uff.br/~bianca/informatica1/ Aula 8-25/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisInformática para Ciências e Engenharias - 2º semestre 2017/2018
Informática para Ciências e Engenharias - 2º semestre 2017/2018 2º Teste, 6 de Junho de 2018, 1h:45m versão B ICE: ; Nome: ; Nº Avisos: Sem consulta; a interpretação do enunciado é da responsabilidade
Leia maisDDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR
SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisInformática para Ciências e Engenharias - 2º semestre 2017/2018
Informática para Ciências e Engenharias - 2º semestre 2017/2018 2º Teste, 6 de Junho de 2018, 1h:45m versão A ICE: ; Nome: ; Nº Avisos: Sem consulta; a interpretação do enunciado é da responsabilidade
Leia maisBases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo
Departamento de Engenharia Informática 2013/2014 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Leia maisÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos INSTRUÇÕES DE CONTROLO ÍNDICE. Nuno Mamede
PROGRAMAÇÃ COM OBJECTOS INSTRUÇÕES DE CONTROLO Programação com Objectos ÍNDICE Introdução aos objectos Poimorfismo Tudo é um objecto Interface e casses internas INSTRUÇÕES DE CONTROLO Guardar os objectos
Leia maisInformática para as Ciências e Engenharias - 2º semestre 2015/2016
Informática para as Ciências e Engenharias - 2º semestre 2015/2016 2º Teste, 6 de Junho de 2016, 2h versão A Nome: Nº Avisos: Sem consulta; a interpretação do enunciado é da responsabilidade do estudante;
Leia maisInformática para Ciências e Engenharias (B) 2015/16. Teórica 2
Informática para Ciências e Engenharias (B) 2015/16 Teórica 2 Na aua de hoje Decomposição de probemas Abstracção, generaização e agoritmos Ficheiros e código fonte scripts, funções e como escrever código
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL
Sistemas de Informação e Bases de Dados 2012/2013 Linguagem SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Sumário Linguagem SQL 2 História Princípio dos
Leia maisInformática para Ciências e Engenharias (B) 2016/17. Teórica 10
Informática para Ciências e Engenharias (B) 2016/17 Teórica 10 Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas em SQL. Simuação de modeos contínuos: Integração de equações
Leia maisInformática para Ciências e Engenharias - 2º semestre 2016/2017
Informática para Ciências e Engenharias - 2º semestre 2016/2017 2º Teste, 5 de Junho de 2016, 1h:45m versão B ICE: ; Nome: ; Nº Avisos: Sem consulta; a interpretação do enunciado é da responsabilidade
Leia maisPlanificação Anual. Departamento Expressões e Tecnologias
Modelo Dep-01 Planificação Anual Agrupamento de Escolas do Castêlo da Maia Departamento Expressões e Tecnologias Ano 12º Ano letivo 2013.2014 Disciplina Programação e Sistemas de Informação Turma G Professores:
Leia maisInformática para as Ciências e Engenharias - 2º semestre 2015/2016
Informática para as Ciências e Engenharias - 2º semestre 2015/2016 Exame de Recurso, 1 de Julho de 2016, 2h30m Nome: Nº Avisos: Sem consulta; a interpretação do enunciado é da responsabilidade do estudante;
Leia maisModelo Entidade-Relacionamento (E-R)
Modelo Entidade-Relacionamento (E-R) composto n lote n n n contrato_compra_venda n possui proprietário possui n associado cadastro n banco faz fronteira pertence n ruas n quadras n financiado empréstimo
Leia maisInformática para Ciências e Engenharias - 2º semestre 2016/2017
Informática para Ciências e Engenharias - 2º semestre 2016/2017 2º Teste, 5 de Junho de 2016, 1h:45m versão A ICE: ; Nome: ; Nº Avisos: Sem consulta; a interpretação do enunciado é da responsabilidade
Leia maisBCD29008 Banco de dados
BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017
Leia maisMySql. Introdução a MySQL. Andréa Garcia Trindade
MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo
Leia maisDefinição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.
Definição do esquema da base de dados o esquema da BD é composto pelas definições de todas as tabelas da BD. existem outros elementos (views, índices, triggers) que também fazem parte do esquema e que
Leia maisAnálise matricial de estruturas não-lineares usando o Método de Newton.
Anáise matricia de estruturas não-ineares usando o Método de Newton. Exercício Computaciona - MAP3121 1 Primeiro probema 1.1 Descrição da estrutura não-inear Considere um sistema formado por três barras
Leia maisICE-B Sqlite e Python. Ludwig Krippahl
ICE-B 16 - Sqlite e Python Ludwig Krippahl Sqlite + Python Resumo Usar Sqlite a partir de Python Módulo sqlite3 Ligação à base de dados Cursor para executar comandos SQL Exemplo prático: criar uma tabela
Leia maisSQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação
SQL Básica DDL Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 21 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 21 de outubro de 2015 1 / 28 1 Introdução 2 SQL DDL CREATE Criar Banco
Leia maisBANCO DE DADOS GERENCIAL 1 A U L A 2
BANCO DE DADOS GERENCIAL 1 A U L A 2 N Í V E I S D E V I S Ã O, S U B G R U P O D D L : C R I A N D O B A N C O D E D A D O S, C R I A N D O T A B E L A S, E S T R U T U R A D A T A B E L A CONCEITOS :
Leia maisSQL: Vistas, Indices, Autorização, Restrições
SQL: Vistas, Indices, Autorização, Restrições Fernando Lobo Base de Dados, Universidade do Algarve 1 / 20 Vistas Uma vista (view em inglês) é uma tabela virtual. Não existe fisicamente na BD. É definida
Leia maisBenvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!
(Apresentação SQL Manager Lite for InterBase and Firebird) Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios! Ferramenta de alta performance para a otimização da administração de
Leia maisAula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU
Aula 6 BD1 Modelo Relacional Profa. Elaine Faria UFU - 2017 Introdução Modelo Relacional Proposto por Codd em 1970 Revolucionou a área de banco de dados É o modelo dominante base para os SGBDs líderes
Leia maisConceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?
- ---@--- Conceitos O que é dado? O que é uma informação? O que é BD? O que é BD? O que é SGBD? O que é? O que é SGBD? Como se comunicar com o SGBD? 1 O que é? Onde Nasceu? Tipos de Bancos Relacionais
Leia maisInformática para Ciências e Engenharias (B) 2016/17. Teórica 2
Informática para Ciências e Engenharias (B) 2016/17 Teórica 2 Na aua de hoje Decomposição de probemas Abstração, generaização e agoritmos Ficheiros e código fonte scripts, funções e como escrever código
Leia maisInformática para Ciências e Engenharias (B) 2015/16. Teórica 4
Informática para Ciências e Engenharias (B) 2015/16 Teórica 4 Na aua de hoje Controo de execução condições if eseif ese end operadores reacionais e ógicos Exempos 1. fórmua resovente 2. cromatograma, GC
Leia maisExane de ICE-B, 26 de Junho de 2018 (Versão A)
Exane de ICE-B, 26 de Junho de 2018 (Versão A) Três páginas com 10 perguntas mais três folhas de resposta. Duração: 2 horas e 30 minutos Atenção: Preencha cuidadosamente cada folha de resposta. Pode usar
Leia maisO modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de
Introdução O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language). O padrão SQL define precisamente uma interface SQL para a
Leia maisSQL Básica. Andre Noel
SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou
Leia maisViews. uma view é uma tabela virtual. não existe fisicamente na BD. é definida à custa de outras tabelas ou views. CREATE VIEW <nome> AS <query>;
Views uma view é uma tabela virtual. não existe fisicamente na BD. é definida à custa de outras tabelas ou views. sintaxe: CREATE VIEW AS ; 1 Exemplo Criar uma view que dá o nome, ano e duração
Leia maisAtualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g
Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando
Leia maisRevisão de Bancos de Dados
Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)
Leia maisBANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges
BANCO DE DADOS II SQL Básico COTEMIG Gerson Borges gerson@cotemig.com.br Definição de Banco de Dados [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Representando algum
Leia maisManipulação de Dados com SQL
Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language
Leia maisBases de Dados. Lab 1: Introdução ao ambiente
Departamento de Engenharia Informática 2009/2010 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Leia maisLicenciatura em Informática
Licenciatura em Informática Unidade Curricular Sistemas de Gestão de Bases de Dados Database Management Systems Objetivos -Administrar, criar e manter mecanismos de segurança em bases de dados SQL; -Criar,
Leia maisProgramando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi
Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store
Leia maisA U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )
BANCO DE DADOS GERENCIAL 1 A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) VIEW é uma instrução SQL que retorna dados e é salva no banco de dados com um nome, ou seja, passa a ser um objeto
Leia maisBanco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP
Banco de dados POO Márcio Delamaro 1/37 Objetivo Nesta aula vamos dar uma breve introdução do que é um Banco de dados relacional Como acessar um banco de dados usando Java 2/37 O que é Bancos de dados
Leia maisInformática para Ciências e Engenharias 2012/13. Teórica 10
Informática para Ciências e Engenharias 2012/13 Teórica 10 Na aula de hoje... Introdução aos sistemas de bases de dados (parte 2): Combinar MATLAB e SQL Um exemplo prático 2 MATLAB + SQL 3 MATLAB + SQL
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia maisFaculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível
Leia maisFaculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do
Leia maisAndroid e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
Leia maisFORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ
FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ Matemática 9º ano 1º bimestre / 2013 PLANO DE TRABALHO Semehança Fonte: http://pt.wikipedia.org/wiki/semehan%c3%a7a Tarefa 2 Cursista:
Leia maisMarcos Alexandruk Marcos Alexandruk
Marcos Alexandruk m.alexandruk@gmail.com Apresentação disponível em: www.dba.net.br/mysql.pdf Parte I: Download e Instalação MySQL - Download www.mysql.com/downloads MySQL - Download MySQL - Download MySQL
Leia maisAgenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais
Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas
Leia maisSQL. Prof. Roger Cristhian Gomes
SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões
Leia maisInstituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:
Leia maisEsquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos
Modelo Relacional Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas Esquema da Relação Descreve as colunas da tabela Especifica
Leia maisCurso de Banco de Dados. Prof. Rone Ilídio
Curso de Banco de Dados Prof. Rone Ilídio Introdução BD 1 BD 2 SQL BD 3 Dados Aplicação Sistemas de Gerência de Banco de Dados -SGBD Introdução Aplicação que controla os dados Drives ODBC, BDE, ect SQL
Leia maisBANCO DE DADOS PARA NINJAS
BANCO DE DADOS PARA NINJAS PARANGABA RONNISON REGES VIDAL Ceará, 25 de Outubro de 2016 ROTEIRO l Conhecimento Pra que usar? Ferramentas SGBD's Consultas (Jutsu) Linguagem de Consulta PRA QUE USAR? PRA
Leia mais[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL
www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp? comp=24763 Conhecendo o PL/SQL Veja neste artigo o que é PL/SQL, quando utilizá-la e uma breve
Leia maisFundamentos de Banco de Dados Postgre com Sql
Fundamentos de Banco de Dados Postgre com Sql Prof. Luiz Claudio Ferreira de Souza Prof. Luiz Claudio F. de Souza 1 Obtenha os Slids no endereço www.luizclaudiofs.blogspot.com Prof. Luiz Claudio F. de
Leia maisIEC Banco de Dados I Aula 11 Técnicas de Programação SQL
IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário
Leia maisIntrodução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Leia maisInformática II Cap. 5-2 Bases de Dados - MsAccess
Cap. 5-2 Bases de Dados - MsAccess Filipe Caldeira - 2001 1 Introdução Porquê a utilização de Sistemas de Bases de Dados (SBD)? Armazenamento dos dados de uma forma consistente ( a informação não deve
Leia maisA U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A
BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem
Leia mais