280 likes | 382 Views
Leandro Moles de Matos Rafael Barbolo Lopes Thiago Bosco Leite Thiago Dias Pastor. Projeto de Banco de Dados. Diagrama Entidade Relacionamento. id. login. senha. cpf. email. nome. tipo. Cartão. Usuário. (0,N). (1,1). id. (1,N). (0,N). id. data. duraçãodias. descrição.
E N D
Leandro Moles de Matos Rafael Barbolo Lopes Thiago Bosco Leite Thiago Dias Pastor Projeto de Banco de Dados
id login senha cpf email nome tipo Cartão Usuário (0,N) (1,1) id (1,N) (0,N) id data duraçãodias descrição vagas_totais nome (1,1) vagas_restantes pagamento preço escopo Gerente Administrador Evento Participante Recepcionista (0,N) horário (0,N) duraçãohoras id descrição nome (1,1) (0,N) (0,N) (0,N) preço id Sessão sala Material evento_sessão sessão_material cadastro_evento vagasrestantes comparecimento partic_cartao inscrição retirada descrição (0,N) (1,1) (0,1) vagastotais (1,N) (1,N) Palestra Sessão Técnica apresentacao Palestrante telefone Minicurso assunto infos tec_resp tec_aux id nome email especialidades responsável assunto
Tabela: evento Projeto Lógico Relacional
Tabela: sessao Projeto Lógico Relacional
Tabela: sessao_tecnica Projeto Lógico Relacional
Tabela: sessao_minicurso Projeto Lógico Relacional
Tabela: sessao_palestra Projeto Lógico Relacional
Tabela: palestrante Projeto Lógico Relacional
Tabela: apresentacao Projeto Lógico Relacional
Tabela: material Projeto Lógico Relacional
Tabela: usuario Projeto Lógico Relacional
Tabela: cartao Projeto Lógico Relacional
Tabela: inscricao Projeto Lógico Relacional
Tabela: comparecimento Projeto Lógico Relacional
Tabela: retirada Projeto Lógico Relacional
MySQL 5 Mais de 10 milhões de instalações; Usuários famosos: Amo DinDin, NASA, Wikipedia, Bradesco, HP, Nokia, Sony; Empresa responsável: Sun Microsystems. Características Alto desempenho e estabilidade; Facilidade de uso; Multiplataforma; Software Livre com base na GPL; StorageEngines: MyISAM, InnoDB, BDB, entre outros; Interface gráfica: MySQL Toolkit (MySQL GUI + MySQLAdministrator); Modelagem de bancos: MySQLWorkbench Sistema de Gerenciamento de Banco de Dados
Hibernate 3.x • Framework paraMapeamentoobjeto-relacional. • Usode Xml e annotation para estabelecer a relação entre o BD e a aplicação. • Software Livre e Licensa LGPL • https://www.hibernate.org/
Hibernate 3.x • Diminuir a complexidade entre os programas Java • Transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os da SQL). • Gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultante, mantendo o programa portável para quaisquer bancos de dados SQL • Aumento no tempo de execução.
História • Criado por desenvolvedores Java, espalhados ao redor do mundo, e liderado por Gavin King. Posteriormente, JBossInc (empresa comprada pela RedHat) contratou os principais desenvolvedores do programa para fazer o seu suporte. • A atual versão do Hibernate é a 3.x, que incorporou características como a nova arquitetura Interceptor/Callback, filtros definidos pelo usuário e anotações JDK 5.0 (Metadados do Java), que substitui os arquivos XML. • Hibernate 3 também se aproxima das especificações EJB 3.0 e atua como a espinha dorsal das implementações EJB 3.0 em JBoss.
HQL • HQL (HibernateQueryLanguage) é um dialeto SQL para o Hibernate. • Parece com SQL • HQL é totalmente orientada a objeto, incluindo os paradigmas de herança, polimorfismo e encapsulamento. • No Hibernate, você pode escolher tanto usar a SQL quanto a HQL. • Aumentadistancia entre Banco de Dados e o programa
QuandoNaoUtilizar !? • Uso extensivo de storedprocedures, triggers ou que implementam a maior parte da lógica da aplicação no banco de dados. • Modelo de negocioPobre. • Perdesuasfuncionalidadesprincipais.
Problemas • Configuracaoextensa e complicada. • Muitaspossibilidades • Uso de annotation ou xml • Umaalteracao no Bancorefleteemmuitasalteracoesnasconfs do hibernate • Muitotrabalho manual.
PluginHibernateTools • ReverseEngineering: Mapeia Classes do banco em classes java • Mapping Editor: Editor de Xml com inteligentSense • Console: Facilita montagem de queries em HQL • Aumentaprodutividade • Emdesenvolvimento • RoadMap – Mapeamentosem Xml diretamente