전체 글 (16) 썸네일형 리스트형 포인터 VS 레퍼런스 포인터 (Pointer) 메모리의 주소를 가지고 있는 변수 메모리의 주소값을 저장할 수 있는 자료형 포인터도 int(정수를 저장하는 자료형), char(문자를 저장하는 자료형)처럼 결국 하나의 자료형, 타입임 즉 포인터도 하나의 타입임 즉, 포인터 연산 == 주소 연산 레퍼런스 (Reference) 레퍼런스: 참조 자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름 즉, 변수에 별명(별칭)을 하나 붙여주는 것임 변수명을 통해 메모리를 참조함 JAVA에 포인터가 없는 이유 C나 C++에는 포인터라는 개념 존재하지만, JAVA에서는 포인터라는 개념을 사용하지 않음. JAVA는 왜 포인터가 존재하지 않을까 ? 포인터(Pointer)와 참조(Reference)의 차이 포인터와 참조 모두 주소를 통해 원본 데.. DB 7강 NULL SQL에서 NULL의 의미 unknown ex: 누군가의 생일 정보가 null로 처리되었다. 분명 그 사람의 생일은 존재함. 생일이 아직 알려지지 않았다는 것. unavailable or withheld ex: 본인의 생일 정보를 공개하지 않은 것. 민감한 개인 정보일수도 있기에. 따라서 생일 정보를 이용할 수 없다. not applicable ex: 요즘은 집 전화가 잘 없음. 집 전화 정보를 저장하려는 경우, 집 전화 자체가 없으면 아예 해당사항이 없는 것. 즉 적용할 수 없음, 해당사항이 아닌 것. -> SQL에서는 이러한 다양한 의미를 하나의 NULL로 표시 id가 14, 15인 두 임직원의 생일이 둘 다 NULL이라고 해서 '두 분의 생일이 동일하다' 이렇게 볼 수 없음. 업데이트를 하.. DB 6강 subquery SELECT with subquery ID가 14인 임직원보다 생일이 빠른 임직원의 ID, 이름, 생일을 알고 싶음 2개의 query를 한번에 실행할 수는 없을까? 당연히 가능. 두 번째 query의 조건 부분이 첫 번째 query를 실행했을때 나온 결과이기에 즉, 위 그림과 같이 첫 번째 query를 두 번째 query의 조건 부분에 넣으면 됨 * subquery (nested query or inner query) : SELECT, INSERT, UPDATE, DELETE에 포함된 query * outer query(main query) : subquery를 포함하는 query * subquery는 ( ) 안에 기술된다. SELECT with subquery ID가 1인 임직원과 같은.. DB 5강 SELECT로 데이터 조회하기 SELECT statement ID가 9인 임직원의 이름과 직군 알고 싶음 selection condition: employee라는 table에서 어떤 tuple을 선택할지 조건 명시 projection attributes: 내가 알고 싶은 attributes 지정하여 그 attributes에 대응하는 값들만 가지고 오겠다는 의미 즉 SELECT문을 수행하게 되면 selection condition을 통해 선택된 tuple의 값들 중에서, projection attributes에 의해 지정된 그 attribute에 대응하는 값만 가져오게 됨. 다시 말해, 위의 그림과 같이 교차된 값들만 가져옴 SELECT statement SELECT attribute(s) FROM tab.. DB 4강 테이블만 정의해놓은 상태, 현재는 각 테이블에 아무런 데이터 없음 데이터 추가 EMPLOYEE table에 데이터 추가 INSERT INTO table_name VALUES (실제로 넣으려는 값) (실제로 넣으려는 값): 순서 중요, 처음 EMPLOYEE table 정의할 때의 attribute 순서대로 값을 넣어줘야 함 INSERT INTO table_name (attribute 이름 나열) (attribute 이름 나열) 해놓으면 값을 넣는 순서에 자유가 생김, 또한 실제로 내가 넣고싶은 attribute만 넣을 수 있음 데이터가 제대로 추가되었는지 확인하고 싶을 때, SELECT * FROM (테이블 이름); 테이블에 데이터를 추가하는 INSERT statement 1. INSERT INTO tab.. DB 3강 SQL(Structured Query Language) relational DBMS의 표준 언어: relational database를 만든다고 하면 SQL을 통해 DB를 정의, 삽입, 수정 등을 함 종합적인 database 언어: DDL + DML + VDL SQL에서 relation이란? relational data model에서의 relation과 개념이 조금 다름 multiset(=bag) of tuples (multiset은 set과 다르게 중복 허용) 중복된 tuple 허용 SQL & RDBMS SQL은 RDBMS의 표준 언어이지만 실제 구현에 강제가 없기에 RDBMS마다 제공하는 SQL의 스펙 조금씩 다름 ex: MySQL에서 제공하는 SQL의 문법과, Oracle에서 제공하는 SQL의 문법.. DB 2강 relational data model relation: 수학에서 나온 개념, 먼저 수학에서 relation이 의미하는 것이 무엇인지 파악해야 함. set: 서로 다른 elements를 가지는 collection, 즉 중복된 elements를 가지지 않음. 또한 하나의 set에서 elements의 순서는 중요하지 않음. Cartesian product가 왜 중요한가? 수학에서 말하는 'relation'이 Cartesian product와 관련있기 때문. 이 3개의 pair들로 이루어진 집합은 A X B에 대한 Cartesian product의 부분 집합이 됨. ->이것이 수학에서 말하는 relation의 개념 n-ary relation은 n개의 집합에 대한 Cartesian product의 부분 집합이 .. DB 1강 database(DB): 전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합 관련있는 데이터들 : ex) SNS에서 사진을 올리고, 글을 쓰고, 누군가의 게시물에 댓글을 달고 .. 등등의 일련의 정보들, 이러한 데이터들이 모두 하나의 서비스와 관련된 데이터들이다. 즉 같은 출처, 같은 목적, 같은 서비스 안에서 생성되는 위와 같은 데이터들을 관련있는 데이터들이라고 함. '조직화'된 집합으로: ex) 책이 잘 정리되어 있지 않은 상태: 내가 찾으려는 것이 어디 있는지 찾기 상당히 어려움. 같은 제목의 책들이 얼마나 있는지 몰라 재고 관리도 쉽지 않음. .. 등등의 여러가지 불편한 점 많음. 즉, 이러한 상태에서는 무언가를 하고 싶어도 신속하게 수행하기 쉽지 않다. -> 책이 잘 정리되어 있는 상.. 이전 1 2 다음