Computer Science/Database 11

좋은 학술 데이터베이스란 | 좋은 학술 데이터베이스의 기준 (Data, Web interface 측면)

다음 링크에서 생물학 데이터베이스 편집자가 좋은 학술 데이터베이스의 기준을 설명하고 있다. EDITORIAL The 2007 Database Issue of Nucleic Acids Research is the fourteenth in a series dedicated to databases in the field of molecular biology. These databases are es academic.oup.com 그 기준을 크게 Data와 Web interface 측면으로 나눴다. 각각 정리하면 다음과 같다. Data 측면 DB 이름이 기존 DB와 중복되지 않도록 Comprehensive 할수록 좋다: 하나의 종에 대한 정보가 아니라 여러 종에 대한 정보가 더 낫다 Original source..

[Java] Java에서 Join 기능 이용하기 (Spring, Hibernate)

다음의 두 entity를 참고하면 Java에서 Join 기능을 어떻게 써볼 수 있을지 감이 온다. Member.java @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer member_id; @Column private String member_name; // @Column // private Integer team_id; @ManyToOne(targetEntity = Team.class) @JoinColumn(name = "team_id") private Team team; // then getters/setters } Team.java @Entity public class..

[Python] MySQL connector를 이용한 Database 연결

라이브러리 설치 >> pip install mysql-connector-python 실행 코드 SELECT import mysql.connector con = mysql.connector.connect(host='URL', port='PORT', database='DBNAME', user='USER', password='PWD') cursor = con.cursor(dictionary=True) # True로 해야 row에서 column 이름으로 값을 불러올 수 있다. sql="SELECT * FROM table1 WHERE column1 = %s ;" cursor.execute(sql, ("value1",)) for row in cursor: print(str(row['column2'])) cursor..

[DBMS] 관계형 DBMS의 개념과 NoSQL과의 비교

DBMS와 관계형 DBMS 데이터베이스: 데이터의 저장공간 DBMS (DataBase Management System): 데이터베이스 관리 소프트웨어로, 대용량의 데이터를 관리할 수 있고 여러 사용자가 공유 가능하다. 그 종류에는 관계형 DBMS, NoSQL 등이 있다. 이를 그림으로 나타내면 다음과 같다. 그 중에서 관계형 DBMS(Relational DBMS, RDBMS)는 '테이블'과 '테이블 간의 관계'로 데이터베이스를 관리하는 소프트웨어이다. 관계형 DBMS의 종류에는 대표적으로 아래와 같은 것들이 있다. SQL(Structured Query Language)이란 관계형 DBMS에서 사용되는 언어로서, 표준 SQL이 존재한다. 표준 SQL을 바탕으로 각각의 관계형 DBMS가 고유의 SQL을 만들..

[Error] java.sql.SQLException: The server time zone value 'KST' is unrecognized

Problem java.sql.SQLException: The server time zone value 'KST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. Solution // String url = "jdbc:mysql://IP 주소/testDB?serverTimezone=Asia/Seoul"; String url = "jdbc:..

[Java] 자바 어플리케이션에서 데이터베이스에 접속하는 방법 (Java, JDBC API, JDBC driver, MySQL)

JDBC API란? 자바 어플리케이션에서도 직접 관계형 DBMS를 제어할 수 있다. 그러한 역할을 돕는 API (Application, Programming Interface, library, 도구)가 JDBC(Java DataBase Connectivity) API이다. 다양한 관계형 DBMS를 자바에서 제어할 수 있는데, 이를 위해서는 각각에 맞는 JDBC 드라이버를 먼저 설치해야 한다. 위 개념을 간단한 모식도로 나타나면 다음과 같다. JDBC API는 게임기 자체(닌X도 스X치), JDBC 드라이버는 게임칩(동X의 숲)이라고 생각하면 이해가 쉽다. JDBC API는 기본적으로 설치되어 있지만, 각 DBMS에 맞는 JDBC 드라이버는 추가적으로 설치해야 한다. 이 포스팅에서는 MySQL에 접속하는 ..

[MySQL] Database 인덱스와 제약 조건 (Index, Constraint)

인덱스 (Index) 데이터베이스에는 다음 4종류의 indices가 존재한다. 1. KEY or INDEX: 중복 허용, 검색 빠르게 2. UNIQUE: 중복 금지 (제약조건), 검색 빠르게. (여러 columns에 대하여 UNIQUE index를 지정하면 columns의 조합을 봤을 때 값의 중복이 있어서는 안 됨) 3. PRIMARY: TABLE당 하나만 존재 (제약조건), Null 금지 (제약조건), 중복 금지 (제약조건), 검색 빠르게 4. FULLTEXT: 위의 indices와는 다르게, full text search(MATCH(), AGAINST() 등)만을 위한 index이다. 제약 조건 (Contraint) 제약 조건은 데이터의 무결성을 위해 설정된 제약이다. 다음의 5가지 제약 조건이 존..

[MySQL] 텍스트 검색 기능

긴 글에서 특정 단어를 포함하는 글을 찾고 싶을 때 MySQL의 FULLTEXT Index를 사용할 수 있다. 생성 및 삭제 /* FULLTEXT INDEX 생성 */ CREATE TABLE table1 ( column1 TEXT, FULLTEXT fullTextIdx (column1) ); ALTER TABLE table1 ADD FULLTEXT (column1); CREATE FULLTEXT INDEX fullTextIdx ON table1(column1); /* FULLTEXT INDEX 삭제 */ ALTER TABLE table1 DROP INDEX FULLTEXT (column1); 단어 검색 SELECT * FROM article WHERE MATCH(mainText) AGAINST('과학')..

[MySQL] 조인 (JOIN) 사용법

RDBMS(관계형 DBMS)에서는 모든 데이터가 테이블에 저장되고, 테이블 간의 관계가 형성된다. 이러한 테이블 간의 관계를 활용하여 정보를 얻을 수 있는 JOIN 구문의 사용법에 대해 알아보고자 한다. 1. 내부 조인 (INNER JOIN) 두 개 이상의 테이블의 교집합에서 데이터를 확인하고자 할 때 사용할 수 있다. 가장 일반적인 JOIN문으로 SQL문에서 JOIN으로 써도 INNER JOIN으로 인식된다. /* 테이블 2개 JOIN */ SELECT T1.id, T2.name, T1.address FROM table1 T1 INNER JOIN table2 T2 ON T1.id = T2.id -- JOIN 조건 WHERE T1.id = 'person1'; /* 테이블 3개 JOIN */ SELECT ..

[MySQL] SQL문 사용법

MySQL에서는 SQL이라고 명명된 SQL문을 사용하여 MySQL(DBMS)에 명령을 할 수 있다. 1. DML (Data Manipulation Language) 데이터 조작에 사용되는 SQL문으로 SELECT, INSERT, UPDATE, DELETE가 있다. 트랜잭션(Transaction, 임시 적용)이 발생한다. SELECT 구문 /* WHERE 조건문 */ SELECT * FROM table1 WHERE column='value1' AND NOT column2>5; /* 연속적인 값 */ SELECT * FROM table1 WHERE column2 BETWEEN 5 AND 10; /* 이산적인 값 */ SELECT * FROM table1 WHERE column1 IN('value1','val..

728x90
반응형