NoSQL VS RDBMS 무엇이 다를까?
·
DB
NoSQL란?NoSQL은 Not Only SQL 줄임말로 전통적인 관계형 데이터베이스(RDBMS)의 한계를 극복하고자 등장한 비관계형 데이터베이스 시스템을 통칭합니다. 단순히 SQL을 사용하지 않는다는 의미가 아니라 관계형 모델에 얽매이지 않고 다양한 방식으로 데이터를 저장하고 처리할 수 있다는 철학을 담고 있습니다. NoSQL의 가장 큰 특징은 유연성, 확장성 그리고 속도입니다. 현대의 소프트웨어 환경은 과거보다 훨씬 더 많은 양의 데이터를 실시간으로 처리하고 저장해야 하며 이 과정에서 다양한 형태의 정형, 반정형, 비정형 데이터를 함께 다뤄야 합니다. 특히 소셜미디어, iot, 로그 수집, 사용자 행동 추적 등의 분야에서는 관계형 데이터베이스로는 감당하기 어려운 문제들이 자주 발생합니다. NoSQL은..
SQL 기본 및 활용
·
DB
SQL 종류DML(Data Manipulation Language)SELECTINSERTUPDATEDELETEDDL(Data Definition Language)CREATEALTERDROPRENAMEDCL(Data Control Language)GRANTREVOKETCL(Transaction Control Language)COMMITROLLBACKLTRIMSQL SERVER에서 왼쪽 공백 제거오라클에서는 LTRIM(문자열,제거할 문자열) 사용된다.GROUP BY 절과 HAVING 특징GROUP BY 절을 통해 소그룹별 기준을 정한 후 SELECT 절에 집계 함수를 사용집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행GROUP BY 절에서는 SELECT 절과는 달리 ALIAS 사용 불가집계 ..
SQLD 데이터 모델링의 이해
·
DB
데이터 모델링의 유의점중복비유연성비일관성데이터베이스 스키마 3단계외부 스키마사용자 관점개별 사용자나 응용 프로그램이 보는 데이터의 뷰(View)전체 데이터베이스 중 일부만 보여주며 보안과 접근 권한 통제에 활용개념 스키마조직 전체 관점 (논리적 구조)데이터베이스의 전체 구조와 논리적 관계 정의테이블, 속성, 관계, 제약조건 등을 정의DBMS가 관리하는 메인 스키마ERD 모델내부 스키마물리적 저장 관점데이터가 실제로 어떻게 저장되는지를 기술저장 경로, 인덱스, 압축 방식 등 물리적 구조 포함DBMS 내부에서만 사용발생 시점에 따른 엔터티 분류기본 엔터티중심 엔터티행위 엔터티엔터티 특징반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.유일한 식별자에 의해 식별이 가능해야 한다. 두 개 이상의 인..
데이터 모델링(Data Model)
·
DB
데이터모델링이란데이터 모델링이란 현실 세계를 데이터베이스로 표현하기 위해 개체(Entity), 속성(Attribute), 관계(Relationship) 등을 구조화하는 작업입니다. Entity는 관리 대상 정보의 집합으로 Table을 의미합니다. Attribute는 Entity가 가지는 성질로 Entity 안에 종속되어 있습니다. 테이블의 컬럼(Column)을 의미합니다. Relationship은 2개 이상의 Entity 연관성을 의미합니다. Foreign key, join이 있습니다. 현실 세계를 객체로 변환하는 객체지향 방법론의 DB버전이라고 볼 수 있겠네요. 데이터 모델링을 만들때는 중복되지않고 유연해야하며 일관성이있어야합니다. 인스턴스와 도메인에 대해서도 정리하고가겠습니다. 인스턴스는 테이블(En..
인덱스(Index)와 쿼리 속도는 어떤 관계일까.
·
DB
https://memoryman.tistory.com/6 프로젝트를 포스팅하다가 쿼리 속도는 어느 부분에서 차이가 발생하는지 궁금하게 되어서 포스팅해요. 쿼리 속도 빠르게 하려면 어떻게 해야하는지 알아볼게요. 시작은 테이블 생성입니다. 간단하게 이름과 핸드폰 정보 테이블을 생성할게요. primary key는 기본키를 identity는 자동증감을 의미해요. (기본키에는 인덱스가 걸려있고 자동증감은 1부터 1씩 증감하겠다라는 뜻)create table MemoryManTable(id int primary key identity(1,1), name varchar(100), phone varchar(100)) 데이터가 가장 문제였는데 랜덤으로 데이터를 만들고 1개씩 insert 하는 방식으로 처리하니100..