목록분류 전체보기 (134)
개발 블로그
관계 대수(relational algebra)란? 관계 모델을 위한 기본적인 연산의 집합으로, 릴레이션 연산 표현에 대한 방법론 중 하나이다. 관계 대수 연산은 두 가지로 나눌 수 있다. 1. 수학적 집합 연산 합집합(union) 교집합(intersection) 차집합(set difference) 카디션 곱(cartesian product) 2. 관계형 데이터베이스를 위해 개발된 연산 셀렉트(select) 프로젝트(project) 조인(join) 디비전(division) 1. 릴레이션 표기법 R(a1, a2, a3, ... ) : R은 릴레이션을 뜻하며, a1, a2, a3는 릴레이션의 속성을 의미한다. 2. SELECT select 연산은 시그마 기호(σ)를 사용하며, 주어진 조건을 만족하는 튜플들만 ..
서브 쿼리란? 완전한 문장으로 구성된 구문 안에 또 하나의 완전한 구문이 있는 것을 서브 쿼리라 한다.

JOIN이란? 두 개 이상의 테이블의 정보를 결합해 원하는 데이터를 만들 수 있도록 돕는 메커니즘이다. JOIN을 사용하는 이유는 두 개 이상의 테이블을 결합해 유의미한 정보로 만들어내는 것이 목표이다. 예시로 게시글 테이블만으로는 게시글 작성자의 정보는 알 수 없다. 게시글 테이블과 작성자 테이블을 결합하면 더 쉽게 게시글의 정보와 회원 정보를 확인할 수 있다. 두 개의 테이블이 있다. 만약 게시글과 게시글을 작성한 회원 정보를 알고 싶다면 SELECT BO_ID, BO_TITLE, BO_CONTENT, BO_M_ID, M_ID, M_MEMBER_ID, M_NAME FROM BOARD INNER JOIN MEMBER ON BO_M_ID = M_ID; JOIN의 유형 두 개 이상의 테이블을 조인하는 여러..

집계 함수란 행들을 집계하는데 행의 개수를 세거나 평균값을 구하거나 총합을 구할 때 사용하는 함수이다. COUNT: 행의 개수 세기 COUNT(칼럼 또는 *) 만약 GOOD 테이블에서 상품의 개수를 세고 싶다면 아래와 같이 작성하면 된다. SELECT COUNT(*) AS totalelements FROM GOODS; SELECT COUNT(*) AS totalelements FROM GOODS WHERE GD_STOCK= 30000; 위의 구문은 같은 연도 같은 월의 주문들의 결제액 총합이 30000원 이상인 연도와 월을 찾는 구문이다.

WHERE과 조건식을 이용해 조건에 맞는 데이터를 필터링하여 결과를 가져오는 방법에 대해 알아보자. 조건절(WHERE) 특정 데이터들을 추출하여 사용하기 위해선 WHERE과 조건식을 사용해 필터링 한다. MEMBER 테이블 SELECT * FROM MEMBER WHERE M_ID=4; 조건식의 결과가 true인 행들만 필터링해 가져온다. 위의 식은 M_ID가 4인 행들만 가져온다. 조건식에 여러 연산자가 사용된다. =, , !=, NOT, 등등 (는 != 와 동일) 범위를 기준으로 행을 찾을 수도 있다. SELECT * FROM MEMBER WHERE M_CREATED_DATETIME BETWEEN '2030-02-02 00:00' AND '2030-02-03 00:00'; 위의 질의는 날짜가 2030/..

이번엔 데이터베이스에서 데이터를 가져오는 것을 알아볼 것이다. SQL을 이용해 가장 많이 질의하는 것은 원하는 데이터를 찾아서 사용하기 위해 데이터를 가져오는 것이다. select 구문은 테이블에서 원하는 데이터를 가져오기 위한 구문으로 크게 3가지를 지정해야 한다. 1.어느 테이블에서 행을 가져올 것인지 정한다. (from) 2. 테이블의 어느 칼럼의 값을 가져올 것인지 정한다. (what) 3. 어떤 조건에 해당하는 행을 가져올지 정한다. (where) SELECT [ALL | DISTINCT] 칼럼1, 칼럼2,.. FROM 테이블이름, … [WHERE 조건식] [GROUP BY 칼럼이름,… [HAVING 조건식]] [ORDER BY 칼럼이름,…] 예시 SELECT * FROM MEMBER; memb..

이번엔 테이블에 데이터를 삽입, 수정, 삭제하는 방법에 대해 알아보고 제약조건과 action에 따라 어떤 결과가 나오는지 확인한다. 데이터베이스에서 칼럼은 키를 뜻한다. 수정 조건절(WHERE)이 없으면 해당 컬럼의 데이터를 모두 수정한다. 실수하면 난리나므로 주의해야 한다, (즉 테이블의 해당 칼럼의 모든 값을 특정 값으로 바꾼다.) 변경 참조하는 값을 바꿀 때, 참조할 수 있는 값으로 변경해야 한다. 1. 삽입 테이블에 행을 삽입할 수 있다. INSERT INTO 테이블이름 (칼럼1, 칼럼2, ...) VALUES (값1, 값2, ...) INSERT INTO PRODUCT (PD_NAME, PD_STOCK) VALUES ('반팔티', 10); 이때 추가하는 데이터 값이 문자열이면 작은따옴표로 감싸야..

키 무결성과, 참조 무결성을 유지하기 위한 기본키, 유니크, 외래키 제약조건 의존성이 없는 릴레이션부터 테이블로 추가해야 한다. 예시에서 보면, 의존성이 없는 회원 릴레이션을 먼저 테이블로 만들고, 반려동물, 게시글, 관심사 릴레이션을 테이블로 만든다. 마지막으로 댓글과 조회기록 릴레이션을 테이블로 생성한다. 테이블을 만들 때, 기본키(primary key), 유니크(unique) 제약조건은 테이블의 키 무결성을 유지하게 한다. 만약 같은 기본키를 가지는 값을 추가할 때 에러가 나며 키 무결성을 유지한다. 테이블을 생성하고 기본키나 유니크 제약조건을 추가할 수 있다. (DBMS에 따라 가능여부가 달라짐) //MySQL에서 기본키 추가 ALTER TABLE member MODIFY COLUM m_id IN..

SQL(Structed Query Language) 이란? 상용 DBMS와 대화하기 위한 고수준의 선언적 언어로 릴레이션 스키마의 규격에 따라 릴레이션을 추가하고 데이터를 저장하고 수정하고 삭제하는 과정을 거치며 데이터와 데이터 간의 관계를 이용하는 조인 연산을 통해 원하는 결과물을 가져올 수 있다. 이때 고수준의 선언적 언어란 직접 데이터베이스의 어떤 자료구조로 저장할지 명령하는 것이 아니라 데이터를 추가한다 수정한다, 삭제한다는 명령만으로 데이터를 이용할 수 있다. DBMS는 클라이언트-서버 모델로 운영되고, 여러 기업에서 개발한 다양한 DBMS들이 존재한다. 사용자가 클라이언트 소프트웨어에 질의를 전달하면, 서버 소프트웨어에 전달되어 질의를 해석하고, 결과물을 클라이언트 서버 소프트웨어에 전달한다...
파싱(parsin) 이란 자료에서 원하는 데이터를 특정 패턴이나 순서로 추출하고 가공하여 원하는 때에 불러올 수 있게 하는 것을 말한다. 즉, 파싱은 일련의 정보를 분석하고 가공하는 것으로, 파싱 기법에는 xml, json, dom, sax 등이 있다. 크롤링 (crawling) 이란 웹 상의 페이지를 수집해서 분류하고 저장한 후에 나중에 쉽게 찾아볼 수 있도록 하는 역할을 하는 일종의 로봇이다. 데이터를 저장한 수 쉽게 찾을 수 있도록 인덱싱 한다. 즉, 수많은 데이터를 수집해서 나중에 꺼내보기 쉽도록 정리 해두는 것이다. 스크래핑(scraping) 이란 http를 통해 웹 사이트의 내용을 긁어다 원하는 형태로 가공하는 것이다. 즉, 웹 사이트의 데이터를 수집하는 모든 작업을 뜻한다. json 파싱하는..