본문 바로가기

분류 전체보기15

[DB] ER 모델과 ER표기법(IE 표기법) ER 모델 표기법이란? ER 모델 표기법을 이해하기 위해서는 먼저 'ER 모델'을 알아야 한다. Entity Relationship 모델은 1976년 피터 첸이 제안한 개념적 모델링을 위한 방법론이다. 세상의 사물을 개체entity와 개체 간의 관계relationship으로 표현한다. 개체는 개체의 특성을 나타내는 속성attribute를 가지며 이를 이용해 개체를 식별한다. ER 모델 표기법은 개체간의 관계를 표현하는 표기법이며, ER다이어그램 이라는 방법으로 표기할 수 있다. 하지만, 실무에서 관계도를 표현하는 대표적인 방법은 IE 표기법information Engineering Notation이다. IE표기법은 관계를 나타내는 선의 끝 모양이 새의 발 모양처럼 생겼다해서 새발 표기법crow-feet이.. 2021. 9. 11.
[SQL SERVER] WHERE와 HAVING 공통점 SQL에서 WHERE와 HAVING은 모두 "조건절"이다. 검색의 대상이 되는 테이블(FROM 테이블명)의 튜플(행) 중 설정한 조건에 맞는 값만 불러오도록 명령한다. 차이점 1) GROUP BY 필수 여부 - HAVING절은 GROUP BY 절의 결과로 나타나는 그룹을 제한하는 역할을 한다. 따라서, GROUP BY절이 없는 상태에서 HAVING을 사용할 수 없다. - 그에 반해, WHERE 절은 GROUP BY가 없이도 사용 가능하다. 2) 속성/집계값 - HAVING절은 GROUP BY로 그룹핑한 결과값을 제어하는 역할을 하기 때문에, 입력값도 마찬가지로 집계값을 입력하여야 한다. - WHERE절의 입력값은 단일 속성(컬럼명)만 가능하다. 3) 예시 -- 테스트 테이블 생성 CREATE TA.. 2021. 9. 5.
[SQL SERVER] GO GO? 책을 보다가 GO라는 명령어를 접했다. 사실 개발실무자가 된 뒤로 SSMS에서 기존 테이블 분석을 위해 소스 복사를 할때 많이 봤던 문법이다. 샘플로 돌릴때는 이걸 써도 안써도 딱히 문제가 없었기 때문에 알아보지 않았는데, 생각보다 너무 많이 나와서 알아봐야겠다. USE [MASTER] CREATE DATABASE Madang GO .... .... INSERT INTO Orders VALUES (10, 3, 8 ...); GO 책의 설명에는 이렇게 나와있다. -- GO 명령어는 T-SQL 문은 아니지만 현재까지 명령어를 SQL Server에 보내서 실행시키는 역할을 한다. -- 즉 GO 명령어는 명령어를 묶어서 배치로 서버에 보내는 역할을 한다. 뭔가 자바 SQLMAP의 TRANSACTION과 .. 2021. 9. 5.
[DB] SQL SERVER 도메인 무결성 제약조건 설정하기 지난 포스팅에서는 무결성 제약조건의 개념에 대해 알아보았습니다. 이번 포스팅에서는 제약조건마다 어떻게 설정하는지에 대해서 알아보겠습니다. NOT NULL NOT NULL 제약조건이 설정된 컬럼에는 빈 값을 넣을 수 없도록 제약하는 조건입니다. /* CREATE TABLE TABLE_NAME ( COLUMN_NAME DATATYPE CONSTRAINT CONSTRAINT_NAME NOT NULL, ); */ CREATE TABLE NOTNULL_CONSTRAINT ( IID INT NOT NULL, -- 단순하게 NOT NULL이라고 설정해도 된다. NAME NVARCHAR(50) CONSTRAINT CONS_NOTNULL NOT NULL, AGE INT NOT NULL, ) CHECK 제약조건을 설정한 .. 2021. 8. 29.