본문 바로가기

전체 글

(61)
Join 종류 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com Join join join 또는 결합 구문은 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것이다. 따라서 조인은 테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과 셋을 만들어 낸다. JOIN은 2개의 테이블에서 각각의 공통값을 이용함으로써 필드를 조합하는 수단이 된다. -위키백과- 지난 시간에 join 기본에 대해서 알아보았었습니다. 이번에는 join에 대해 더 자세하게 알아보겠습니다. 기본 데이터베이스에서 데이터는 다수의 테이블에 나누어서 저장되어 있습니다. 모델링 초기 과정에서 정보가 한 테이블에 모여있다고 하더라도 정규화를 거치면서 큰 테이블이 작은 테이블로 나뉘고 중복을 제거하..
(MySQL) 데이터 타입 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com MySQL 데이터 타입 문자형 데이터 타입 정말 다양한 종류가 있지만, 큰 줄기 위주로 알아보겠습니다. 문자열에 대해서 이해하려면 기본적으로 일반적인 String과 Binary form, Lob에 대해서 이해해야 합니다. 데이터베이스에 문자가 저장될 때는 일반적인 String으로 저장될 수도 있지만 Binary 형태의 이진 데이터로 저장하는 경우도 있습니다. '그냥 문자열을 사용하면 직관적인데 왜 binary형태를 사용하나' 하면 일반적인 문자열로 표현할 수 없는 자료형을 표현할 때도 쓰이기 때문입니다. 예를 들면 이미지, 오디오 같은 멀티미디어 파일은 binary text 형태로 표현되기 때문에 일반적인 문자열로 표..
(MySQL) 와일드카드 기반 like 검색과 예시 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com 와일드카드, like 검색 Like 검색은 조건 검색을 할 때 특정 column의 데이터가 특정 패턴을 포함하고 있는지 검색할 때 사용합니다. like검색 사용 시 MySQL에서는 5가지 와일드카드를 이용합니다. 아래 10가지 예시를 통해서 조금 더 쉽게 알아보겠습니다. Select * from customer 1. where customerName like ‘a%’ customerName column의 data가 a로 시작하는 모든 것을 찾아내라. 두 번째가 %기호이므로 글자 수 제한이 없기 때문에, 그냥 a만도 가능하고 apple도 가능하고 asaldfkjslkvcxoijewfoijeoisd도 가능하다. 2. wh..
(MySQL) Index 개념과 종류 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com 인덱스 인덱스 인덱스는 데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조를 일컫는다. 인덱스는 테이블 내의 1개의 컬럼, 혹은 여러 개의 컬럼을 이용하여 생성될 수 있다. 고속의 검색 동작뿐만 아니라 레코드 접근과 관련 효율적인 순서 매김 동작에 대한 기초를 제공한다. -위키백과- 인덱스를 사용하는 이유는 빠른 검색을 보장하기 위함입니다. 인덱스를 설정하지 않고 그냥 검색을 한다면 매번 테이블 전체를 풀 스캔 하여 조건에 맞는 데이터를 검색합니다. 몇만 건, 몇십만 건 정도면 크게 문제가 되지 않을 수도 있지만 데이터가 수백수천만 건이 되고 요청 트랜잭션 수도 많아진다면 성능 면에서 큰 저하가..
트랜잭션 ACID 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com 트랜잭션 ACID 지난 글에서는 트랜잭션의 개념에 대해서 알아보았습니다. ACID는 큰 주제여서 따로 빼서 새로운 글로 다룬다고 말씀드렸었는데 오늘 다뤄보겠습니다. ACID란? ACID ACID는 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가리키는 약어이다. 그 종류에는 원자성(atomicity), 일관성(consistency), 격리성(isolation), 영속성(durability)이 있다. -위키백과- 트랜잭션이 반드시 보장해야 하는 4가지 성질입니다. 트랜잭션이 궁금하시면 audgnssweet.tistory.com/45?category=846241 를 참고하세요. 그럼 본격적으로 AC..
모델링 개념 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com 모델링 기초 모델링 데이터 모델링이란 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업을 말하며, 일반적으로 이를 물리적인 데이터베이스 모델로 환원하여 고객의 요구에 따라 특정 정보 시스템의 데이터베이스에 반영하는 작업을 포함한다. 후자의 의미로 흔히 데이터베이스 모델링으로 불리기도 한다. - 위키백과 - 프로그래밍에서 모델링은 간단하게 말해서 db스키마를 만드는 작업을 의미합니다. 모델링 -> 스키마 생성 -> SQL 생성 또한 모델링은 현실 세계를 추상화, 단순화, 명확화 하여 DB에 맞게 표현하는 것을 의미합니다. 모델링 3단계 1. 개념 모델링 (outline 설계) EA: DB만이 아니라 DB가 속한 ..
추상 클래스 & 인터페이스 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com 추상 클래스 vs. 인터페이스 앞서 추상 클래스와 인터페이스에 대해서 알아보았었는데요 비슷한 점이 많았습니다. 그럼 비슷한데 구분하는 게 의미가 있나?라고 생각하실 수도 있는데 다른 점들이 있습니다. 목적에서 가장 큰 차이를 갖는다고 할 수 있습니다. 추상 클래스는 코드의 집중이 목적입니다. 하위 클래스에서 필요로 하는 공통적인 기능들은 구현해두고 상속받아 활용할 수 있도록 하되, 하위 클래스에서 구현할 수 밖에 없는 기능들을 추상 메서드로 정의하여 다형성을 실현합니다. 인터페이스는 코드의 분리가 목적입니다. 두 모듈 사이에 인터페이스를 두어 모듈의 응집력은 높이되 의존성은 낮춥니다. 개발자로 하여금 인터페이스의 목적..
인터페이스 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com 인터페이스 인터페이스 인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 자바에서 인터페이스는 두 모듈 간, 두 기능 간 경계면입니다. 말이 매우 추상적인데, 예시를 생각해보겠습니다. 선풍기를 생각해보겠습니다. 우리가 정지, 미풍, 약풍, 강풍 등의 버튼만 눌러주면 선풍기가 세기에 맞춰서 동작합니다. 우리는 정지, 미풍, 약풍, 강풍 등의 버튼에 대한 정보는 알고 있지만, 그 버튼을 누름으로써 선풍기 내부에서 어떤 작업들이 일어나 동작하게 되는지에 대해서는 관심이 없습니다. 단지 '어떤 버튼을 눌렀을 때 어떤 일이 일어나는구나' 만 알고 있으면 선풍기를 사용하는 ..